技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營

贊助商

分類目錄

贊助商

最新文章

搜索

[解決] 請求“System.Web.AspNetHostingPermission...”權(quán)限失敗的問題

作者:admin    時間:2022-8-24 11:15:18    瀏覽:

新搭建的ASP.NET網(wǎng)站,運(yùn)行后出現(xiàn)安全性異常。



安全性異常

說明: 應(yīng)用程序試圖執(zhí)行安全策略不允許的操作。要授予此應(yīng)用程序所需的權(quán)限,請與系統(tǒng)管理員聯(lián)系,或在配置文件中更改該應(yīng)用程序的信任級別。

異常詳細(xì)信息: System.Security.SecurityException: 請求“System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”類型的權(quán)限已失敗。

源錯誤:

執(zhí)行當(dāng)前 Web 請求期間生成了未處理的異常??梢允褂孟旅娴漠惓6褩8櫺畔⒋_定有關(guān)異常原因和發(fā)生位置的信息。

堆棧跟蹤:

[SecurityException: 請求“System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”類型的權(quán)限已失敗。]
System.Reflection.Assembly._GetType(String name, Boolean throwOnError, Boolean ignoreCase) +0
System.Reflection.Assembly.GetType(String name, Boolean throwOnError) +36
System.Web.Compilation.BuildResultCompiledType.GetPreservedAttributes(PreservationFileReader pfr) +54
System.Web.Compilation.PreservationFileReader.ReadFileInternal(VirtualPath virtualPath, String preservationFile, Int64 hashCode) +496
System.Web.Compilation.PreservationFileReader.ReadBuildResultFromFile(VirtualPath virtualPath, String preservationFile, Int64 hashCode) +91
System.Web.Compilation.DiskBuildResultCache.GetBuildResult(String cacheKey, VirtualPath virtualPath, Int64 hashCode) +66
System.Web.Compilation.BuildManager.GetBuildResultFromCacheInternal(String cacheKey, Boolean keyFromVPP, VirtualPath virtualPath, Int64 hashCode) +176
System.Web.Compilation.BuildManager.GetVPathBuildResultFromCacheInternal(VirtualPath virtualPath) +43
System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +59
System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +101
System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean noAssert) +126
System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert) +62
System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +33
System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path) +37
System.Web.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +307
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

版本信息: Microsoft .NET Framework 版本:2.0.50727.8000; ASP.NET 版本:2.0.50727.8001

請求System.Web.AspNetHostingPermission...權(quán)限已失敗
點(diǎn)擊圖片放大

解決方法:

在IIS中找到網(wǎng)站對應(yīng)的應(yīng)用程序池---高級設(shè)置---加載用戶配置文件 選True 保存 重啟IIS。

加載用戶配置文件選True
加載用戶配置文件 選True

這樣網(wǎng)站就能正常訪問了。

其他解決方法?

在微軟msdn社區(qū),有人用其他方法解決了這個問題,但是不知為何原因。

User48307553 發(fā)表
我已經(jīng)為此奮斗了好幾個小時,一個簡單的目錄更改就解決了它。

知識擴(kuò)展

請求 System.Web.AspNetHostingPermission 類型的權(quán)限

在 IIS7 中托管 ASP.NET 應(yīng)用程序時,遇到了“System.Web.AspNetHostingPermission ”類型的權(quán)限問題(“/”應(yīng)用程序中的服務(wù)器錯誤)。

如果我們把“加載用戶配置文件”設(shè)置為True  ,在應(yīng)用程序池中加載會發(fā)生什么情況?Windows 加密服務(wù)提供程序試圖在用戶存儲中存儲或加載你的證書的密鑰,并且由于配置文件不可用,因此加密上下文不可用。請注意,加載用戶配置文件設(shè)置僅適用于用戶帳戶。

加載用戶配置文件時,這包括他們的加密存儲、環(huán)境變量(如%TEMP%)和其他變量。它最終歸結(jié)為在AppPool啟動時由 IIS 調(diào)用用戶配置文件。

要了解有關(guān)應(yīng)用程序池“加載用戶配置文件”屬性的更多信息,請查看此鏈接 http://www.iis.net/learn/manage/configuring-security/application-pool-identities。

希望它會有所幫助。

標(biāo)簽: asp.net  AspNetHostingPermission  
x
  • 站長推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */