Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用“身份验证”对用户进行身份验证;“交互式登录需要智能卡”;设置_Java_Active Directory_Smartcard_Pki - Fatal编程技术网

Java 如何使用“身份验证”对用户进行身份验证;“交互式登录需要智能卡”;设置

Java 如何使用“身份验证”对用户进行身份验证;“交互式登录需要智能卡”;设置,java,active-directory,smartcard,pki,Java,Active Directory,Smartcard,Pki,在Active Directory上设置“交互式登录需要智能卡”时,它会生成一个随机密码。如何利用智能卡通过LDAP从web应用程序对用户进行身份验证 我如何知道用户是谁?有没有办法访问证书?我可以从会话中获取它吗?应该使用HTTPS和SSL相互身份验证,因为客户端的智能卡上至少存储了公司CA签名的证书 当使用相互SSL身份验证而不仅仅是服务器身份验证时,服务器也会验证客户端证书,而不仅仅是客户端验证服务器的证书(这对于支持HTTPS的电子商务站点来说更常见)。你仍然可以得到加密连接作为奖励 见

在Active Directory上设置“交互式登录需要智能卡”时,它会生成一个随机密码。如何利用智能卡通过LDAP从web应用程序对用户进行身份验证


我如何知道用户是谁?有没有办法访问证书?我可以从会话中获取它吗?

应该使用HTTPS和SSL相互身份验证,因为客户端的智能卡上至少存储了公司CA签名的证书

当使用相互SSL身份验证而不仅仅是服务器身份验证时,服务器也会验证客户端证书,而不仅仅是客户端验证服务器的证书(这对于支持HTTPS的电子商务站点来说更常见)。你仍然可以得到加密连接作为奖励

见例。关键点是将信任存储中的CA证书和clientAuth属性设置为true

还应在相应web应用程序的web.xml中为CLIENT-CERT指定登录验证方法:

...
<login-config>
  <auth-method>CLIENT-CERT</auth-method>
  <realm-name>Foo * Bar * Realm</realm-name>
</login-config>
...
。。。
客户端证书
Foo*Bar*领域
...
客户端证书中的SubjectDN属性用于标识用户。LDAP(或ActiveDirectory)仍然可以用于授权-例如,通过检查用户是否属于某个组

第一次把一切都安排好是很困难的。为了熟悉所有概念,我建议采用以下方法:

  • 对存储在文件中的用户名和密码使用基本身份验证方法
  • 使用简单的基于角色的授权
  • 启用客户端证书身份验证方法+简单的基于角色的授权
  • 合并LDAP以检查角色

应使用HTTPS和SSL相互身份验证,因为客户端的智能卡上至少存储了公司CA签名的证书

当使用相互SSL身份验证而不仅仅是服务器身份验证时,服务器也会验证客户端证书,而不仅仅是客户端验证服务器的证书(这对于支持HTTPS的电子商务站点来说更常见)。你仍然可以得到加密连接作为奖励

见例。关键点是将信任存储中的CA证书和clientAuth属性设置为true

还应在相应web应用程序的web.xml中为CLIENT-CERT指定登录验证方法:

...
<login-config>
  <auth-method>CLIENT-CERT</auth-method>
  <realm-name>Foo * Bar * Realm</realm-name>
</login-config>
...
。。。
客户端证书
Foo*Bar*领域
...
客户端证书中的SubjectDN属性用于标识用户。LDAP(或ActiveDirectory)仍然可以用于授权-例如,通过检查用户是否属于某个组

第一次把一切都安排好是很困难的。为了熟悉所有概念,我建议采用以下方法:

  • 对存储在文件中的用户名和密码使用基本身份验证方法
  • 使用简单的基于角色的授权
  • 启用客户端证书身份验证方法+简单的基于角色的授权
  • 合并LDAP以检查角色

我不得不将以下内容添加到server.xml文件中的连接器元素中:
clientAuth=“true”secure=“true”SSLVerifyClient=“require”truststoreFile=“conf/piv truststore”truststorePass=“changeit”
我不得不将以下内容添加到server.xml文件中的连接器元素中:
clientAuth=“true”secure=“true”SSLVerifyClient=“require”truststoreFile=“conf/piv truststore”truststorePass=“changeit”