|
security
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
SecurityException: Request failed in LoadControlI have a web part which dynamicaly loads an ascx control. If I configure my sharepoint for full trust, everything works fine. Using other security settings, I get the following exception: [SecurityException: Request failed.] System.Reflection.MethodBase.PerformSecurityCheck(Object obj, RuntimeMethodHandle method, IntPtr parent, UInt32 invocationFlags) +0 System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache) +189 System.Activator.CreateInstance(Type type, Boolean nonPublic) +66 System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) +1036 System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) +114 System.Web.HttpRuntime.CreateNonPublicInstance(Type type, Object[] args) +40 System.Web.Configuration.PagesSection.CreateControlTypeFilter() +3368024 System.Web.UI.TemplateParser.ProcessConfigSettings() +179 System.Web.UI.TemplateControlParser.ProcessConfigSettings() +15 System.Web.UI.UserControlParser.ProcessConfigSettings() +9 System.Web.UI.TemplateParser.PrepareParse() +415 System.Web.UI.TemplateParser.Parse() +155 System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType() +105 System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider) +54 System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() +256 System.Web.Compilation.BuildProvidersCompiler.PerformBuild() +29 System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) +279 System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +580 System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +93 System.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath) +76 System.Web.UI.TemplateControl.LoadControl(String virtualPath) +23 Using Reflector for .Net, I can look into CreateInstanceImpl and see a check like this: if (entry1.m_ctor != null) { if (!skipVisibilityChecks && entry1.m_bNeedSecurityCheck) { MethodBase.PerformSecurityCheck(obj1, entry1.m_hCtorMethodHandle, this.TypeHandle.Value, 0x10000000); } } Any hint why this check could fail or how to figure out what's the reason is? I'm working on a custom trust file but have no idea what permission my code might be missing. regards, Achim Hi,
I additionally granted System.Security.Permissions.ReflectionPermission to my code and now the exception is thrown a bit later. Now the call to System.RuntimeTypeHandle.CreateInstance throws a SecurityException. Any hint? Achim What version of .NET are you using? The permissions available on the
full/high/medium/low default security policies are different between frameworks and will determine what parameters you have to override. Has anyone determined the answer to this issue yet? I am running into the same problem trying to do the same thing.
--- Posted via DotNetSlackers.com I guess this is a late response, however I ran into exact same problem
and thought to share my solution. I couldn't find an answer anywhere. A configuration recommended by official papers does not appear to work with User Controls. After some disassembly and debugging, I was able to solve it with following minimal permission set. Apparently a template parser wants an entire PermissionSet unrestricted. It is also worth noting that it uses LinkDemand, which probably explains why if you deploy a user control with full trust and later switch to custom set, you may remove all permissions and it will still work. <SecurityClasses> ... <SecurityClass Name="SharePointPermission" Description="Microsoft.SharePoint.Security.SharePointPermission, Microsoft.SharePoint.Security, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /> <SecurityClass Name="FileIOPermission" Description="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> </SecurityClasses> <NamedPermissionSets> ... <PermissionSet class="NamedPermissionSet" version="1" Name="wss_KS_minimaltrust" Unrestricted="true"> <IPermission class="AspNetHostingPermission" version="1" Level="Minimal"/> <IPermission class="SharePointPermission" version="1" ObjectModel="True"/> <IPermission class="SecurityPermission" version="1" Flags="Execution, ControlThread"/> <IPermission class="WebPartPermission" version="1" Connections="True"/> <IPermission class="FileIOPermission" AllFiles="None" AllLocalFiles="PathDiscovery, Read"/> </PermissionSet> ... </NamedPermissionSets>
regarding retrival of server certificate
Permissions on Event Log? Creating Authorization Manager Store through Code Thread.CurrentPrincipal still returns GenericPrincipal Config Info in DMZ TripleDESCryptoServiceProvider - Secret Key Length Extract Public Key From certificate and RSACryptoServiceProvider Making web services secure Version of free virus protection from MSN. Why do makecert.exe certificates suffer performance issues? |
|||||||||||||||||||||||