Security Exception ( System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions)

Security Exception ( System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions)

Postby cesarvegamx » Fri 09 Mar 2007 01:42

So, I'm getting this error:

Security Exception
Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.

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


The error happen just when deploying the application to a shared host with medium trust level. It does not happen when there's full trust.

You can see the error here:
http://desktopdatabases.com/default2.aspx
cesarvegamx
 
Posts: 37
Joined: Tue 30 Jan 2007 07:43

Workaround

Postby aukinfo » Fri 09 Mar 2007 16:26

Hi, I have had the very same problem.

I am also in a medium trust env, running Version=3.55.20.0.

My login page was giving me the security error. But then I found that after I accessed a different page which permed a db connection, I was able to log on.
So I have put the following in the global.asax file application_start event and now all is fine again...apart from my other bugs

/* For some reason, this stops the security error seen in Medium Trust Environment */
CoreLab.MySql.MySqlConnection connection =
new CoreLab.MySql.MySqlConnection(ConfigurationManager.ConnectionStrings["cocConnectionString"].ConnectionString);
connection.Open();

CoreLab.MySql.MySqlCommand command = new CoreLab.MySql.MySqlCommand("Select '' from aspnet_profiles;", connection);
command.ExecuteNonQuery();
aukinfo
 
Posts: 1
Joined: Thu 08 Mar 2007 00:03

Postby cesarvegamx » Sat 10 Mar 2007 03:38

Well, in my case, I'm not even using asp.net membership!.

It is a simple query to a test table.
cesarvegamx
 
Posts: 37
Joined: Tue 30 Jan 2007 07:43

Postby Alexey » Mon 12 Mar 2007 08:21

cesarvegamx, are you granted SocketPermissions by your hosting parties?
Alexey
 
Posts: 2756
Joined: Mon 13 Mar 2006 07:43

Postby cesarvegamx » Mon 12 Mar 2007 15:52

Yes, see the web_mediumtrust.config on my provider:

Code: Select all

   
       
           
               
                   
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
         
         
         
                   

                   
                                                        class="NamedPermissionSet"
                                version="1"
                                Unrestricted="true"
                                Name="FullTrust"
                                Description="Allows full access to all resources"
                        />
                                                        class="NamedPermissionSet"
                                version="1"
                                Name="Nothing"
                                Description="Denies all resources, including the right to execute"
                        />
                                                        class="NamedPermissionSet"
                                version="1"
                                Name="ASP.Net">
                                                                class="AspNetHostingPermission"
                                    version="1"
                                    Level="High"
                            />
                                                                class="ConfigurationPermission"
                                    version="1"
                                    Unrestricted="true"
                            />
                                                                class="DnsPermission"
                                    version="1"
                                    Unrestricted="true"
                            />
                                                                class="EnvironmentPermission"
                                    version="1"
                                    Unrestricted="true"
                            />
                                                                class="FileIOPermission"
                                    version="1"
                                    Read="$AppDir$"
                                    Write="$AppDir$"
                                    Append="$AppDir$"
                                    PathDiscovery="$AppDir$"
                            />
                                                                class="IsolatedStorageFilePermission"
                                    version="1"
                                    Unrestricted="true"
                            />
                                                                class="PrintingPermission"
                                    version="1"
                                    Level="DefaultPrinting"
                            />
                                                                class="ReflectionPermission"
                                    version="1"
                                    Flags="ReflectionEmit"
                            />
                                                                class="RegistryPermission"
                                    version="1"
                                    Unrestricted="true"
                            />
                                                                class="SecurityPermission"
                                    version="1"
                                    Flags="Assertion, Execution, ControlThread, ControlPrincipal, RemotingConfiguration"
                            />
                                                                class="SmtpPermission"
                                    version="1"
                                    Access="Connect"
                            />
                                                                class="SocketPermission"
                                    version="1"
                                    Unrestricted="true"
                            />
                                                                class="SqlClientPermission"
                                    version="1"
                                    Unrestricted="true"
                            />
                                                                class="WebPermission"
                                    version="1"
                                    Unrestricted="true"
                            />
                                         version="1"
                Unrestricted="true"
             />

                             version="1"
                Unrestricted="true"
             />

                             version="1"
                Unrestricted="true"
             />
                       
                   

                                                class="FirstMatchCodeGroup"
                            version="1"
                            PermissionSetName="Nothing">
                                                        class="AllMembershipCondition"
                                version="1"
                        />
                                                        class="UnionCodeGroup"
                                version="1"
                                PermissionSetName="ASP.Net">
                                                                class="UrlMembershipCondition"
                                    version="1"
                                    Url="$AppDirUrl$/*"
                            />
                       
                                                        class="UnionCodeGroup"
                                version="1"
                                PermissionSetName="ASP.Net">
                                                                class="UrlMembershipCondition"
                                    version="1"
                                    Url="$CodeGen$/*"
                            />
                       
                       
                                                           class="ZoneMembershipCondition"
                                version="1"
                                Zone="MyComputer" />
                                                                class="UnionCodeGroup"
                                    version="1"
                                    PermissionSetName="FullTrust"
                                    Name="Microsoft_Strong_Name"
                                    Description="This code group grants code signed with the Microsoft strong name full trust. ">
                                                                        class="StrongNameMembershipCondition"
                                        version="1"
                                        PublicKeyBlob="002400000480000094000000060200000024000052534131000400000100010007D1FA57C4AED9F0A32E84AA0FAEFD0DE9E8FD6AEC8F87FB03766C834C99921EB23BE79AD9D5DCC1DD9AD236132102900B723CF980957FC4E177108FC607774F29E8320E92EA05ECE4E821C0A5EFE8F1645C4C0C93C1AB99285D622CAA652C1DFAD63D745D6F2DE5F17E5EAF0FC4963D261C8A12436518206DC093344D5AD293"
                                />
                           

                                                                class="UnionCodeGroup"
                                    version="1"
                                    PermissionSetName="FullTrust"
                                    Name="Ecma_Strong_Name"
                                    Description="This code group grants code signed with the ECMA strong name full trust. ">
                                                                        class="StrongNameMembershipCondition"
                                        version="1"
                                        PublicKeyBlob="00000000000000000400000000000000"
                                />
                           
                       
                   
               

           

       

   

cesarvegamx
 
Posts: 37
Joined: Tue 30 Jan 2007 07:43

Postby cesarvegamx » Mon 12 Mar 2007 15:57

Code: Select all
Is MySQLDirect .NET installed on the target machine (or at least CoreLab.*.dll assemblies are registered in the GAC)?

No, it is a shared hosting.

Code: Select all
Do you use direct mode?

Yes.

When exactly that error occurs? On Connection.Open() call?

It seems it is originated here: CoreLab.MySql.MySqlDirectFactory.CreateConnection()
You can see the stack trace in this sample site:
http://desktopdatabases.com/default2.aspx

Could you provide me with your web.config file and medium trust config file on the shared host?

The medium trust config file is in the post above.
The web.config was already sent by email on friday, together with the whole repro application.
cesarvegamx
 
Posts: 37
Joined: Tue 30 Jan 2007 07:43

Postby Alexey » Tue 13 Mar 2007 13:10

Your project is received and is being investigated.
Alexey
 
Posts: 2756
Joined: Mon 13 Mar 2006 07:43

Postby Alexey » Wed 14 Mar 2007 09:37

We have fixed the problem in MySQLDirect .NET beta. Look forward to the release, which is gonna be available this month.
Alexey
 
Posts: 2756
Joined: Mon 13 Mar 2006 07:43


Return to dotConnect for MySQL