我們擁有Windows Active Directory,所有用戶都已註冊並用於在Windows中登錄。使用LDAP和Servlet進行透明驗證
我們有一個Apache服務器配置爲使用LDAP來驗證該Active Directory中的用戶。它的設置使得在PHP中,我們所要做的就是撥打$_SERVER['REMOTE_USER']
。瀏覽器在Windows中驗證用戶登錄並將此數據發送到Apache,Apache會與LDAP通信以驗證身份驗證。當LDAP認證時,該代碼返回用戶的登錄名,否則返回null。
通過這種方式,我們可以安全方便地對PHP內的用戶進行身份驗證,並使用他們的AD登錄名來控制對我們軟件的訪問。另一個優點是,我們不需要登錄頁面,甚至不必處理變量中的密碼:認證是對用戶透明地處理的,並且它們會自動記錄到我們的軟件中,並且他們的密碼永遠不會出現在我們的代碼中。
我想用Servlet做同樣的事情。我認爲沒有理由不會發生,如果它適用於PHP。但我找不到如何去做。我GOOGLE了,但找不到任何東西。有人做過這樣的事情,可以指點我嗎?
使用登錄名和密碼的標準認證工作在Java中。如果我有域名,登錄名和密碼(在Servlet中來自一個登錄頁面),我可以驗證任何用戶。
謝謝你們!我找到了一個名爲spnegro的組件,它使getRemoteUser()可以工作。 – Hikari