簡體   English   中英

IIS應用程序池標識使用登錄用戶Windows標識

[英]IIS Application Pool Identity to use Logged On User Windows Identity

我正在開發一個使用LDAP執行Active Directory更新的Web應用程序。 當我在IIS 7上托管應用程序時,我在語句directoryEntry.CommitChanges();收到Access is denied錯誤directoryEntry.CommitChanges();

然后我發現應用程序池使用標識“IIS APPPOOL \\ ASP.NET v4.0”來執行更新。

我需要使用Web應用程序的用戶的窗口帳戶作為應用程序池的標識。

我做了以下事情:

  1. 在web.config中添加> authentication mode =“Windows”
  2. 在IIS上禁用匿名身份驗證
  3. 選擇內置帳戶“ApplicationPoolIdentity”作為應用程序池的標識

但還沒有得到它的工作。

您正在尋找的概念稱為假冒
文件

  1. 打開IIS管理器並導航到要管理的級別。 有關打開IIS管理器的信息,請參閱打開IIS管理器(IIS 7)。 有關在UI中導航到位置的信息,請參閱IIS管理器中的導航(IIS 7)。
  2. 在“功能視圖”中,雙擊“身份驗證”。
  3. 在“身份驗證”頁面上,選擇“ ASP.NET模擬”
  4. 在“操作”窗格中,單擊“啟用”以使用默認設置的ASP.NET模擬身份驗證。
  5. (可選)在“操作”窗格中,單擊“編輯”以設置安全主體。
  6. 在“編輯ASP.NET模擬設置”對話框中,選擇“特定用戶”或“經過身份驗證的用戶”。 無論您如何決定,IIS都會將此標識用於ASP.NET應用程序的安全上下文。 默認情況下,IIS 7設置為模擬經過身份驗證的用戶。
  7. 單擊“確定”完成或繼續執行下一個可選步驟以將標識更改為模擬。
  8. (可選)單擊“設置”以更改“特定用戶標識”。
  9. 在“設置憑據”對話框中,在“用戶名”中輸入現有用戶帳戶的名稱,在“密碼”中輸入與該用戶帳戶關聯的密碼,然后在IIS中用於匿名訪問的新帳戶的“確認密碼”中輸入完全相同的值。
  10. 單擊“確定”關閉“設置憑據”對話框。
  11. 單擊“確定”關閉“編輯ASP.NET模擬設置”對話框。

在我使用此配置的情況下,它使用活動目錄帳戶和System.Security.Principal.WindowsIdentity.GetCurrent()的結果進行記錄.Name是經過身份驗證的會話

<identity impersonate="true"/>
<authentication mode="Windows">
  <forms name="Login" loginUrl="Login.aspx" path="/" timeout="10"/>
</authentication>
<authorization>
  <deny users="?"/>
  <allow users="*"/>
</authorization>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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