You are here: Platform Specific Issues > Web Environment > ASP.NET Security

ASP.NET Security

It is characteristic to web-applications that there are some security permissions involved, which can in fact forbid db4o functionality in your ASP.NET application. So, before developing/deploying you should make sure that the required permissions would be granted to your application at the hosting server:

  1. ASP.NET user should have read/write permissions to the directory containing database file. Obviously this is necessary to work with the database.
  2. Trust Level of your site should be set to "Full".

  3. All the necessary permissions should be granted to db4o assembly. The easiest way to ensure this is to add full trust to db4o by installing it in GAC.

  4. If full trust is not a suitable solution for, you can check the minimum security permissions that db4o-assembly needs to operate using permcalc.exe tool from your Visual Studio installation.

    PermCalc.exe -Sandbox Db4objects.Db4o.dll

    sandbox.PermCalc.xml
    <?xml version="1.0"?>
    <Sandbox>
      <PermissionSet version="1" 
    class="System.Security.PermissionSet">
        <IPermission version="1" 
    class="System.Security.Permissions.FileIOPermission, mscorlib, 
    Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
    Read="*AllFiles*" PathDiscovery="*AllFiles*" />
        <IPermission version="1" 
    class="System.Security.Permissions.ReflectionPermission, mscorlib, 
    Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
    Flags="MemberAccess" />
        <IPermission version="1" 
    class="System.Security.Permissions.SecurityPermission, mscorlib, 
    Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
    Flags="UnmanagedCode, Execution, ControlEvidence" />
        <IPermission Window="SafeSubWindows" Clipboard="OwnClipboard" 
    version="1" class="System.Security.Permissions.UIPermission, mscorlib, 
    Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        <IPermission version="1" 
    class="System.Security.Permissions.KeyContainerPermission, mscorlib, 
    Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
    Unrestricted="true" />
      </PermissionSet>
    </Sandbox>

    Consult with your web-server administrator to grant these permissions. permcalc.xml