Windows-Server-2003

與成員組的 Windows 集成身份驗證

  • September 5, 2012

在 StackOverflow(半程式相關)或這裡問這個問題並不完全確定。我認為我的大部分問題都與伺服器端問題有關,因此我將首先詢問 Serverfault。如果需要,請重新定位問題。

我有一個使用 PHP (FastCGI) 編寫的 IIS 6 網站。該網站受 SSL 保護,可在內部和外部使用,使用者從各種類型的網路登錄該網站。所有需要訪問站點的使用者都在 AD 中,並且目前方法可以很好地用於身份驗證。目前的登錄場景是一個標準頁面,帶有 HTML 表單,將使用者名/密碼回傳到 ldap 身份驗證函式。在此身份驗證中,我使用使用者 AD 組的序列化數組填充會話變數 (PHP),以用於應用程序的其他部分。我必須能夠檢索要使用的組列表。

我的任務是讓該系統自動登錄使用者,如果他們從域/網路內連接到它。啟用集成身份驗證(僅)後,儘管我現在嘗試解決一些注意事項,但它工作得很好。使用集成身份驗證,沒有密碼通過網路(很好),但這使得我的 ldap 身份驗證功能(它使用使用者 AD 組填充變數)無用!我仍然需要這些組用於應用程序的其他部分。

我已經閱讀了一些關於ServerFault / StackOverflow關於集成身份驗證的文章和問題/答案,但我仍然有疑問。

  • 如果使用者嘗試從不在允許域中的電腦登錄系統,IIS 是否會回退到任何其他形式的身份驗證或提供 403?
  • 有沒有辦法在不使用需要密碼的ldapBind的情況下獲取使用者的“成員”屬性(在 PHP/其他 Web 腳本語言中)(不與集成登錄一起發送。ldap_get_entries需要以前的搜尋資源,必須如上所述綁定)
  • 完全忽略集成認證,核心問題是—— 本地內網使用者是否可以自動登錄網站而不提示非內網使用者輸入使用者名/密碼(這是標準的登錄表單網頁,還是從瀏覽器)

如果上述答案是肯定的,將不勝感激詳細說明如何。

在我以前的工作中,我們對一些申請提出了類似的要求。我們通過使用具有足夠權限來讀取組成員身份的特殊實用程序帳戶解決了這個問題,但僅此而已。應用程序流程是這樣的:

  1. 使用者點擊該網站。
  2. 發生集成登錄。
  3. 後端程式碼處理登錄,並使用程式的實用程序使用者連接到 AD。
  4. 後端程式碼向 AD 查詢剛剛登錄使用者的組成員身份。

此時,組成員資格可用於編碼。這裡的關鍵是它是一個用於獲取資訊的專用實用程序帳戶,伺服器不會像您現在使用基本身份驗證那樣模擬使用者。

引用自:https://serverfault.com/questions/424672