/// <summary> /// Gets the named permission set from the permissionset collection defined in the configuration file. /// </summary> /// <param name="typeName">The name of the type defined in the configuration file.</param> /// <returns>A permission set based on the collection of permissions in the defined permission set.</returns> public PermissionSet GetAssemblyPermissions(MySQLAsembly typeName) { PermissionSet permissions = new PermissionSet(PermissionState.None); permissions.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution)); if (!string.IsNullOrEmpty(typeName.permissions)) { if (typeName.permissions.Equals("fulltrust", StringComparison.InvariantCultureIgnoreCase)) { // override the default permission set with a full trust permission set. permissions = new PermissionSet(PermissionState.Unrestricted); } else { var section2 = System.Configuration.ConfigurationManager.GetSection("mysqlassemblies") as MySQLAssemblyList; var permlists = section2.permissionsetscollection; var permlist = permlists[typeName.permissions]; // For now we're adding all of the permissions out of the box for System, System.Configuration, System.Data. and System.Xml // This is heavy handed, but aides in beta testing. By the end we should have pared this down to a handful of useful permissions // ie. UI is not needed. foreach (MySQLPermission permission in permlist.permissionscollection) { switch (permission.Name) { case "AspNetHostingPermission": permissions.AddPermission(new System.Web.AspNetHostingPermission(PermissionState.Unrestricted)); break; //case "Collaboration": permissions.AddPermission(new System.Net.PeerToPeer.Collaboration.PeerCollaborationPermission(PermissionState.Unrestricted)); // break; case "ConfigurationPermission": permissions.AddPermission(new System.Configuration.ConfigurationPermission(PermissionState.Unrestricted)); break; //case "DataProtectionPermission": permissions.AddPermission(new System.Security.Permissions.DataProtectionPermission(PermissionState.Unrestricted)); // break; case "OdbcPermission": permissions.AddPermission(new System.Data.Odbc.OdbcPermission(PermissionState.Unrestricted)); break; case "OleDbPermission": permissions.AddPermission(new System.Data.OleDb.OleDbPermission(PermissionState.Unrestricted)); break; case "SqlClientPermission": permissions.AddPermission(new System.Data.SqlClient.SqlClientPermission(PermissionState.Unrestricted)); break; //case "DistributedTransactionPermission": permissions.AddPermission(new System.Transactions.DistributedTransactionPermission(PermissionState.Unrestricted)); // break; case "EnvironmentPermission": permissions.AddPermission(new System.Security.Permissions.EnvironmentPermission(PermissionState.Unrestricted)); break; case "FileDialogPermission": permissions.AddPermission(new System.Security.Permissions.FileDialogPermission(PermissionState.Unrestricted)); break; case "FileIOPermission": permissions.AddPermission(new System.Security.Permissions.FileIOPermission(PermissionState.Unrestricted)); break; case "GacIdentityPermission": permissions.AddPermission(new System.Security.Permissions.GacIdentityPermission(PermissionState.Unrestricted)); break; case "IsolatedStorageFilePermission": permissions.AddPermission(new System.Security.Permissions.IsolatedStorageFilePermission(PermissionState.Unrestricted)); break; case "KeyContainerPermission": permissions.AddPermission(new System.Security.Permissions.KeyContainerPermission(PermissionState.Unrestricted)); break; //case "MediaPermission": permissions.AddPermission(new System.Security.Permissions.MediaPermission(PermissionState.Unrestricted)); // break; //case "MessageQueuePermission": permissions.AddPermission(new System.Messaging.MessageQueuePermission(PermissionState.Unrestricted)); // break; case "NetworkInformationPermission": permissions.AddPermission(new System.Net.NetworkInformation.NetworkInformationPermission(PermissionState.Unrestricted)); break; //case "OraclePermission": permissions.AddPermission(new System.Data.OracleClient.OraclePermission(PermissionState.Unrestricted)); // break; //case "PeerCollaborationPermission": permissions.AddPermission(new System.Net.PeerToPeer.Collaboration.PeerCollaborationPermission(PermissionState.Unrestricted)); // break; //case "PnrpPermission": permissions.AddPermission(new System.Net.PeerToPeer.PnrpPermission(PermissionState.Unrestricted)); // break; //case "PrintingPermission": permissions.AddPermission(new System.Drawing.Printing.PrintingPermission(PermissionState.Unrestricted)); // break; case "PublisherIdentityPermission": permissions.AddPermission(new System.Security.Permissions.PublisherIdentityPermission(PermissionState.Unrestricted)); break; case "ReflectionPermission": permissions.AddPermission(new System.Security.Permissions.ReflectionPermission(PermissionState.Unrestricted)); break; case "RegistryPermission": permissions.AddPermission(new System.Security.Permissions.RegistryPermission(PermissionState.Unrestricted)); break; case "EventLogPermission": permissions.AddPermission(new System.Diagnostics.EventLogPermission(PermissionState.Unrestricted)); break; case "PerformanceCounterPermission": permissions.AddPermission(new System.Diagnostics.PerformanceCounterPermission(PermissionState.Unrestricted)); break; //case "DirectoryServicesPermission": permissions.AddPermission(new System.DirectoryServices.DirectoryServicesPermission(PermissionState.Unrestricted)); // break; //case "ServiceControllerPermission": permissions.AddPermission(new System.ServiceProcess.ServiceControllerPermission(PermissionState.Unrestricted)); // break; case "SecurityPermission": permissions.AddPermission(new System.Security.Permissions.SecurityPermission(PermissionState.Unrestricted)); break; case "SiteIdentityPermission": permissions.AddPermission(new System.Security.Permissions.SiteIdentityPermission(PermissionState.Unrestricted)); break; case "SmtpPermission": permissions.AddPermission(new System.Net.Mail.SmtpPermission(PermissionState.Unrestricted)); break; case "SocketPermission": permissions.AddPermission(new System.Net.SocketPermission(PermissionState.Unrestricted)); break; case "StorePermission": permissions.AddPermission(new System.Security.Permissions.StorePermission(PermissionState.Unrestricted)); break; case "StrongNameIdentityPermission": permissions.AddPermission(new System.Security.Permissions.StrongNameIdentityPermission(PermissionState.Unrestricted)); break; //case "TypeDescriptorPermission": permissions.AddPermission(new System.Security.Permissions.TypeDescriptorPermission(PermissionState.Unrestricted)); // break; case "UIPermission": permissions.AddPermission(new System.Security.Permissions.UIPermission(PermissionState.Unrestricted)); break; case "UrlIdentityPermission": permissions.AddPermission(new System.Security.Permissions.UrlIdentityPermission(PermissionState.Unrestricted)); break; //case "WebBrowserPermission": permissions.AddPermission(new System.Security.Permissions.WebBrowserPermission(PermissionState.Unrestricted)); // break; case "WebPermission": permissions.AddPermission(new System.Net.WebPermission(PermissionState.Unrestricted)); break; //case "XamlLoadPermission": permissions.AddPermission(new System.Xaml.Permissions.XamlLoadPermission(PermissionState.Unrestricted)); // break; default: break; } } } } return(permissions); }
public void Add(MySQLAsembly item) { base.BaseAdd(item); }