[英]Facing problem with ASP.NET hosted in IIS and Windows Authentication
我有一個在IIS 7.5中托管的asp.net網站
該網站必須使用Windows身份驗證。 用戶將添加到AD組。 AD用戶組可以完全控制發布網站的Web文件夾。 Server / IIS_IUSRS也可以完全控制Web文件夾。
網站需要使用的數據存儲在另一台服務器中。 AD組對存儲數據的文件夾具有完全控制權。 我正在使用經典模式,因為Integrated打破了它。
什么應該是網站身份驗證和APP池設置?
就個人而言,我已成為將應用程序池標識設置為AD服務帳戶,然后允許該應用程序使用這些憑據訪問數據庫和其他資源的粉絲。 無需傳遞連接字符串上的憑據或嘗試模擬用戶(編輯:應注意這適用於使用Windows集成安全性的資源)。 也無需嘗試讓用戶直接訪問數據存儲區或其他資源,只需要應用程序憑據即可訪問。 最初設置起來有點麻煩,但從長遠來看更容易管理。
以下是每當我要求他們為我設置一個新站點時,我發送給我們服務器組的清單:(注意這是基於Win Serv2003和IIS 6,在新版本中可能會有所不同。)
不要混淆IIS自動化和ASP.NET自動化:
IIS自動化
ASP.NET自動化
<authorization>
元素) 限制對您的網絡的訪問:
訪問您的數據文件夾,幾個解決方案:
使用默認的IIS 7 ASP.NET帳戶,並在訪問數據文件夾時在代碼中本地模擬用戶
System.Security.Principal.WindowsImpersonationContext impersonationContext; impersonationContext =((System.Security.Principal.WindowsIdentity)User.Identity).Impersonate();
//在此處插入在身份驗證用戶的安全上下文中運行的代碼。
impersonationContext.Undo();
全局激活模擬 ( <identity impersonate="true"/>
); 不喜歡這個
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.