【发布时间】:2014-09-22 16:32:59
【问题描述】:
我有一个在 Tomcat 7 上运行的 Web 应用程序,它配置了自定义 JNDIRealm,并且我的 web.xml 中的 login-config auth-method 设置为“FORM”。
我正在尝试找到一种方法来添加通过相同 LDAP 与智能卡(如果提供)对用户进行身份验证的功能。
我已将 server.xml 更改为 clientAuth=want,但想知道在通过 LDAP 提供证书时是否有办法对用户进行身份验证,然后将它们重定向到登录表单。这可能吗?
编辑: 下面的 Michael-O 被标记为正确答案,因为我能够通过创建一个扩展 FormAuthenticator 的自定义类然后在 Tomcat 的 authenticationator.properties 中注册它来实现这一点。这使我可以在请求中检查来自客户端的 x509cert。如果证书存在且有效,则对用户进行身份验证并将其转发到受保护的资源页面。如果不存在或无效,则将用户转发到表单登录。
【问题讨论】:
标签: java tomcat authentication