【问题标题】:Subtext install gives error in Medium trust levelSubtext 安装在中等信任级别给出错误
【发布时间】:2008-10-06 16:35:39
【问题描述】:

我正在尝试在中等信任级别的环境(主机:Crystaltech)中安装Subtext,但出现以下错误(见下文)。我能够进行管理设置,但是当它尝试进入博客进行实际使用时,轰隆隆。

我知道我可以将环境“升级”到完全信任级别,但我想在执行此操作之前了解错误发生的原因以及转向完全信任的后果。

扩展这个问题;什么是“信任级别”?

安全异常

描述: 应用程序试图执行 保安不允许的操作 政策。授予此申请 需要许可请联系 您的系统管理员或更改 应用程序的信任级别 配置文件。

异常详情: System.Security.SecurityException: 请求类型的许可 'System.Security.Permissions.SecurityPermission, mscorlib,版本=2.0.0.0, 文化=中性, PublicKeyToken=b77a5c561934e089' 失败了。

来源错误:

产生了一个未处理的异常 在当前执行期间 网络请求。有关的信息 异常的起源和位置 可以使用异常识别 下面的堆栈跟踪。

堆栈跟踪:

[SecurityException: 请求 类型许可 'System.Security.Permissions.SecurityPermission, mscorlib,版本=2.0.0.0, 文化=中性, PublicKeyToken=b77a5c561934e089' 失败。]
System.Web.Security.UrlAuthorizationModule.CheckUrlAccessForPrincipal(字符串 virtualPath、IPrincipal 用户、字符串 动词)+47
Subtext.Framework.UrlManager.UrlReWriteHandlerFactory.GetHandlerForUrl(字符串 网址)+66
Subtext.Framework.UrlManager.UrlReWriteHandlerFactory.ProcessHandlerTypePage(HttpHandler 项目,HttpContext 上下文)+143
Subtext.Framework.UrlManager.UrlReWriteHandlerFactory.GetHandler(HttpContext 上下文,字符串请求类型,字符串 url,字符串路径)+340
System.Web.HttpApplication.MapHttpHandler(HttpContext 上下文,字符串请求类型, VirtualPath 路径,字符串 pathTranslated, Boolean useAppConfig) +175 System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +128 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean & completedSynchronously) +161

【问题讨论】:

    标签: asp.net installation medium-trust full-trust subtext


    【解决方案1】:

    我认为除了完全信任或删除对 CheckUrlAccessForPrincipal() 的调用并重新编译之外,没有其他方法可以解决该错误。

    但从表面上看,这个特殊问题已经在潜台词 SVN(修订版 3290)中得到纠正。他们还为 subtext 2.0.1 添加了一个新的构建任务,其中应该包含修复。我猜它准备好后会发布。

    【讨论】:

      【解决方案2】:

      信任级别实际上只是指向某些 security.config 文件的指针。默认信任级别在 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config 中定义,“中”信任指向 web_mediumtrust.config。

      至于异常,查看 System.Web.Security.UrlAuthorizationModule.CheckUrlAccessForPrincipal() 与反射器显示该方法归因于 [SecurityPermission(SecurityAction.Demand, Unrestricted=true)],这意味着它需要不受限制的安全权限,它没有在中等信任下运行。

      【讨论】:

        【解决方案3】:

        更多来自 csgero 的 add to the mill

        http://www.kowitz.net/archive/2008/08/15/upgrading-to-subtext-2.0-fail.aspx

        Phil Haack 有一个小评论,我猜他现在正忙于其他事情 :)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-04-08
          • 1970-01-01
          • 1970-01-01
          • 2010-11-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多