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)仍可用于授权 - 例如通过检查用户是否属于一个组。
可能很难在第一次全部设置。要熟悉所有的概念,我建议采取下列措施: