Subtext install在中等信任级别中出错

时间:2008-10-06 16:35:39

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

我正在尝试在中等信任级别环境(主机:Subtext)中安装Crystaltech并收到以下错误(请参阅下文)。我能够进行管理设置,但是当它试图去博客实际使用时,繁荣。

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

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

  

安全例外

     

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

     

异常详细信息:   System.Security.SecurityException:   请求类型的许可   “System.Security.Permissions.SecurityPermission,   mscorlib,版本= 2.0.0.0,   文化=中性,   公钥= b77a5c561934e089'   失败。

     

来源错误:

     

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

     

堆栈追踪:

     

[SecurityException:请求   类型的许可   “System.Security.Permissions.SecurityPermission,   mscorlib,版本= 2.0.0.0,   文化=中性,   公钥= b77a5c561934e089'   失败。]
  System.Web.Security.UrlAuthorizationModule.CheckUrlAccessForPrincipal(字符串   virtualPath,IPrincipal用户,String   动词)+47
  Subtext.Framework.UrlManager.UrlReWriteHandlerFactory.GetHandlerForUrl(字符串   url)+66
  Subtext.Framework.UrlManager.UrlReWriteHandlerFactory.ProcessHandlerTypePage(HttpHandler的   item,HttpContext context)+143
  Subtext.Framework.UrlManager.UrlReWriteHandlerFactory.GetHandler(HttpContext的   context,String requestType,String   url,String path)+340
  System.Web.HttpApplication.MapHttpHandler(HttpContext的   context,String requestType,   VirtualPath路径,String   pathTranslated,Boolean useAppConfig)   +175 System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()   +128 System.Web.HttpApplication.ExecuteStep(IExecutionStep   步,布尔& completedSynchronously)   161

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

我认为除了转移到完全信任或删除对CheckUrlAccessForPrincipal()的调用并重新编译之外,还有另一种方法可以解决错误。

但从事情看来,这个特殊问题已在子文字SVN(修订版3290)中得到纠正。他们还为子文本2.0.1添加了一个新的构建任务,其中应该包含修复。我想这将在它准备就绪时发布。

答案 2 :(得分:0)

更多来自csgero的add to the mill

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

Phil Haack发表评论,我猜他现在正在忙于其他事情:)