我有一个在 Tomcat 7 上运行的 Web 应用程序,它配置了自定义 JNDIRealm,并且 web.xml 中的登录配置身份验证方法设置为“FORM”。
我正在尝试找到一种方法来添加通过同一 LDAP 使用智能卡(如果有)对用户进行身份验证的功能。
我已经将我的 server.xml 更改为clientAuth=want
,但想知道是否有一种方法可以在通过 LDAP 提供证书时对用户进行身份验证,然后将其重定向到登录表单。这可能吗?
EDIT:下面的 Michael-O 被标记为正确答案,因为我能够通过创建一个扩展 FormAuthenticator 的自定义类,然后将其注册到 Tomcat 的authenticator.properties 中来实现此目的。这使我能够在请求中检查来自客户端的 x509cert。如果证书存在且有效,则对用户进行身份验证并将其转发到安全资源页面。如果不存在或无效,则将用户转发到表单登录。
您现在显然不知道自己想要什么或实际使用什么技术。智能卡身份验证是相互 SSL 身份验证。因此,您首先需要配置 Tomcat 以接受基于 SSL 的身份验证。您的领域将收到 X509 证书,并将尝试在数据存储中查找您的 DN。存储可以是任何东西,数据库、文件、目录等。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)