How to determine if the current application is Medium Trust

99封情书 提交于 2019-12-09 12:50:33

问题


I am trying to make sure my ASP.Net library will work under Medium Trust. I'm having problems however in that I need to disable a bit of code if it is being run under medium trust.

How do I determine from C# if the current application is medium trust?

Specifically, I'm trying to read the customErrors section from web.config and I'm getting security errors


回答1:


This article here describes a mechanism to determine the trust level:

Finding out the current trust level in ASP.NET

Here is the code just in case the link dies:

AspNetHostingPermissionLevel GetCurrentTrustLevel() {
  foreach (AspNetHostingPermissionLevel trustLevel in
      new AspNetHostingPermissionLevel [] {
        AspNetHostingPermissionLevel.Unrestricted,
        AspNetHostingPermissionLevel.High,
        AspNetHostingPermissionLevel.Medium,
        AspNetHostingPermissionLevel.Low,
        AspNetHostingPermissionLevel.Minimal 
      } ) {
    try {
      new AspNetHostingPermission(trustLevel).Demand();
    }
    catch (System.Security.SecurityException ) {
      continue;
    }

    return trustLevel;
   }

   return AspNetHostingPermissionLevel.None;
}

I just tested it in an ASP.NET MVC3 application running at Medium and then Full trust and it does what it says on the tin.



来源:https://stackoverflow.com/questions/6325354/how-to-determine-if-the-current-application-is-medium-trust

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!