http://support.microsoft.com/kb/892424如何使用「交互式登錄需要智能卡」進行身份驗證?
當在Active Directory上設置「交互式登錄需要智能卡」時,它會生成一個隨機密碼。如何利用智能卡通過Web應用程序通過LDAP對用戶進行身份驗證?
我如何知道用戶是誰?有沒有辦法訪問證書?我能從會話中獲得嗎?
http://support.microsoft.com/kb/892424如何使用「交互式登錄需要智能卡」進行身份驗證?
當在Active Directory上設置「交互式登錄需要智能卡」時,它會生成一個隨機密碼。如何利用智能卡通過Web應用程序通過LDAP對用戶進行身份驗證?
我如何知道用戶是誰?有沒有辦法訪問證書?我能從會話中獲得嗎?
爲此,應使用HTTPS和SSL雙向身份驗證,因爲客戶端的智能卡上至少已存儲企業CA簽名證書。
當使用相互SSL身份驗證而不是服務器身份驗證時,客戶端證書也由服務器驗證,而不僅僅是客戶端的服務器證書(對於例如啓用HTTPS的電子商務站點,這是更常見的設置)。作爲獎勵,您仍然可以獲得加密連接。
參見例如Tomcat 6.0 SSL Configuration HOW-TO。關鍵是將trust-store和clientAuth屬性中的CA證書設置爲true。
登錄AUTH-方法也應指明的CLIENT-CERT在各自的網絡的應用程序的web.xml中:
...
<login-config>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Foo * Bar * Realm</realm-name>
</login-config>
...
從客戶端證書SubjectDN中屬性用於識別用戶。 LDAP(或ActiveDirectory)仍可用於授權 - 例如通過檢查用戶是否屬於一個組。
可能很難在第一次全部設置。要熟悉所有的概念,我建議採取下列措施: