FileIOPermission Erro using referenced dll on shared hosting

B

brian

Hello

I get this error when trying to create a file:

Exception Details: System.Security.SecurityException: Request for the
permission of type 'System.Security.Permissions.FileIOPermission,
mscorlib, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089' failed.

The code that causes this error is in a seperate dll (in the bin
directory) to the webapp that is referenced and called to do various
things by the main web apps.

Exactly the same code works on other non-shared servers but on my new
hosting companies shared servers it errors.

I did have to remove one line of the web config:

<identity impersonate="false"/>

Otherwise the website would not even run complaining about not being
able to override the web hosts default value for this.

Ive checked the file is within the applications directory and have
tested creating the same file from a normal aspx page in the webapp and
that works fine so its specifically from the referenced dll.

Ive tried running the same code under .net 1.1 and .net 2. .net1.1
complains when creating the file, .net 2.0 complains when creating the
directory for the new file.

Anyone got any ideas? Id like to try it under full trust but my host
won't let me even to test if this is the issue.

Brian Norman
 
P

parshu

Brian this seems like an permission issue. ASPNET account doesn't seem
to be having a write permission for that specific directory. You need
to increase the access right to the directory in order to make this
work.

HTH
 
N

Nicole Calinoiu

I can't reproduce the problem at the medium trust level. Might your hosting
provider be willing to share the details of the CAS permission grant for
your application? Is there anything about the DLL that might cause it to be
granted a different set of permissions than the rest of the application?
Also, could you please post the details of how you are attempting to create
the file as well as it's exact relative path within your application
directory?
 
B

brian

Ok stupid as the solution is here is what was happing

The code was for an open source wiki called perspective, which I guess
no one has ever used on shared hosting.

In one of the project function libraries the author was for some reason
creating directories using FileSystemObject using the
WindowsScriptingComponent via interop?

So I replaced this with the .net Directory.CreateDiretory and it all
worked.

I guess you cannot use WindowsScriptingComponent , or at least to write
directories, using medium trust.

Thanks for all your suggestions anyway
Brian
 
N

Nicole Calinoiu

Calling into COM objects requires SecurityPermission\Unmanaged code, which
is not part of the medium trust level grant. It's a "dangerous" permission
that is not granted at any of the ASP.NET trust levels other than full
trust.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,576
Members
45,054
Latest member
LucyCarper

Latest Threads

Top