簡體   English   中英

ASP.NET表單身份驗證+ NTLM + LDAP

[英]ASP.NET Form Authentication + NTLM + LDAP

我正在嘗試將LDAP支持添加到使用表單身份驗證的現有ASP.NET網站。 這不是一個大問題,我只是構建一個簡單的登錄對話框(普通HTTP POST),查詢LDAP目錄並通過表單身份驗證票據登錄用戶。

通過NTLM(集成Windows身份驗證)自動獲取用戶憑據非常好,而無需登錄對話框(就像使用ASP.NET Windows身份驗證與同一Active Directory中的計算機一樣)。 有沒有一種簡單的方法可以做到這一點(請記住,我不能使用Windows身份驗證為我的ASP.NET應用程序和服務器不在Active Directory域,我需要能夠手動查詢LDAP目錄)? 或者我是否必須手動完成所有LDAP握手/挑戰/響應?

謝謝你的幫助,~saxx

我在這里的內聯網上這樣做。 這些是我使用的步驟......

  • 創建一個登錄頁面(login.aspx看起來不錯)並設置Web應用程序以進行表單身份驗證。 將授權設置為拒絕匿名。 這意味着,如果用戶沒有身份驗證票,任何使用您應用的嘗試都會導致用戶被重定向到您的登錄頁面。
  • 現在是重要的一步。 在IIS中,將應用程序設置為僅允許匿名。 在您的登錄頁面上,將其更改為僅Windows集成。 現在發生的情況是當用戶退回到您的登錄頁面時,IIS強制進行NTLM身份驗證。 我們現在在標題中有用戶名。
  • 第二個重要步驟。 在page_load方法中添加:

    FormsAuthentication.RedirectFromLoginPage(Request.ServerVariables["Logon_user"], false); 這樣做是使用IIS將始終提供給我們的用戶名並將其放入表單身份驗證票證中。

當然,您可能想要做一些整理,可能會添加注銷功能,或者剝離用戶名的域名。

西蒙

暫無
暫無

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

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