0

我们正在将 MVC3 C# Web 应用程序部署到新的托管环境。我们来自的环境允许完全信任应用程序级别。新的托管环境只允许中等信任,因此我们的应用程序现在会为需要完全信任的调用抛出安全错误。我们一直在审查我们的代码,试图找到有问题的调用,以便我们可以解决信任问题,但未能找到特定的代码行。下面是我们得到的异常,它对调用的来源非常模糊:

安全异常

描述:应用程序试图执行安全策略不允许的操作。要授予此应用程序所需的权限,请联系您的系统管理员或在配置文件中更改应用程序的信任级别。

异常详细信息: System.Security.SecurityException:请求“System.Security.Permissions.FileIOPermission,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”类型的权限失败。

源错误:在执行当前 Web 请求
期间生成了未处理的异常。
可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[SecurityException: Request for the permission of type
'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0,      
Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark&  
stackMark,      
Boolean isPermSet) +0
System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap,
StackCrawlMark&  
stackMark) +31
System.Security.CodeAccessPermission.Demand() +46
System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, 
Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options,
SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath,
Boolean checkHost) +654
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare
share) +65
System.Configuration.Internal.InternalConfigHost.StaticOpenStreamForRead(String  
streamName) +85
System.Configuration.Internal.InternalConfigHost.System.Configuration.Internal.
IInternalCon    figHost.OpenStreamForRead(String streamName, Boolean assertPermissions)    
+116
System.Configuration.Internal.InternalConfigHost.System.Configuration.Internal.
IInternalCon figHost.OpenStreamForRead(String streamName) +10
System.Configuration.Internal.DelegatingConfigHost.OpenStreamForRead(String streamName)
+11
System.Configuration.UpdateConfigHost.OpenStreamForRead(String streamName) +38
System.Configuration.BaseConfigurationRecord.InitConfigFromFile() +319

我们想知道是否有人能给我们一些关于如何追踪此安全级别错误的见解。是否有任何类型的应用程序或插件可以帮助我们确定问题的位置?其次,当抛出这些异常时,任何人都可以阐明吗?是否必须调用有问题的代码来引发异常,或者在 Web 服务器上编译页面时是否会发生此错误?

4

0 回答 0