簡體   English   中英

面對IIS和Windows身份驗證中托管的ASP.NET的問題

[英]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,在新版本中可能會有所不同。)

  • 為應用程序設置單獨的應用程序池
  • 將App池配置為作為服務帳戶運行
  • 將服務帳戶添加到服務器上的IIS_WPG組
  • 確保IIS_WPG組具有網站目錄的讀取,讀取和執行以及列出文件夾內容權限,並且讀取和列出文件夾內容到C:\\ Windows \\ Temp文件夾(或等效文件夾)。
  • 授予用戶權限“調整進程的內存配額”,“替換進程級別令牌”和“作為服務登錄”到服務帳戶

不要混淆IIS自動化和ASP.NET自動化:

IIS自動化

  • IP / DNS地址限制
  • Web權限(讀取,寫入,腳本源訪問...)
  • NTFS權限(僅限非ASP.NET ISAPI擴展名:.htm,.jpg ...)

ASP.NET自動化

  • URL授權( <authorization>元素)
  • 文件授權(僅限ASP.NET ISAPI擴展名:.aspx,.ascx ...)
  • 主要權限(要求)
  • .NET角色

限制對您的網絡的訪問:

  • 取消選中匿名訪問權限
  • 配置NTFS權限

訪問您的數據文件夾,幾個解決方案:

  • 使用應用程序池的服務帳戶,在您的文件夾中允許它,並管理應用程序中的訪問控制
  • 使用默認的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM