在Tomcat 7中使用智能卡和LDAP对用户进行身份验证

时间:2014-09-22 16:32:59

标签: java tomcat authentication

我有一个在Tomcat 7上运行的Web应用程序,它配置了自定义的JNDIRealm,我的web.xml中的login-config auth-method设置为“FORM”。

我正在尝试找到一种方法来添加使用智能卡通过相同LDAP对用户进行身份验证的功能(如果已显示)。

我已将server.xml更改为clientAuth=want,但想知道在通过LDAP呈现证书时是否有方法对用户进行身份验证,然后将其重定向到登录表单。这可能吗?

编辑:下面的Michael-O被标记为正确的答案,因为我能够通过创建扩展FormAuthenticator然后在Tomcat的authenticator.properties中注册它的自定义类来实现这一点。这允许我在请求中检查来自客户端的x509cert。如果证书存在且有效,请对用户进行身份验证并将其转发到安全资源页面。如果不存在或无效,请将用户转发到表单登录。

1 个答案:

答案 0 :(得分:1)

你现在显然不知道你想要什么,或者你实际使用的是什么技术。智能卡身份验证是相互SSL身份验证。因此,您首先需要配置Tomcat以接受基于SSL的身份验证。您的领域将获得X509证书,并将尝试在您的数据存储中找到您的DN。商店可以是任何东西,数据库,文件,目录等。