我有一个在Tomcat 7上运行的Web应用程序,并且使用自定义JNDIRealm对其进行了配置,并且我的web.xml中的login-config auth-method设置为“ FORM”。
我正在尝试找到一种方法,以增加通过智能卡通过同一LDAP对用户进行身份验证的功能(如果提供)。
我已将server.xml更改为具有clientAuth=want
,但是想知道当通过LDAP提交证书时是否有一种方法可以对用户进行身份验证,然后将其重定向通过登录表单。这可能吗?
编辑:下面的Michael-O被标记为正确的答案,因为我能够通过创建一个扩展FormAuthenticator的自定义类,然后在Tomcat的authenticator.properties中进行注册来实现此目的。这使我可以在请求中从客户端检查x509cert。如果该证书存在且有效,则对用户进行身份验证并将其转发到受保护的资源页面。如果不存在或无效,则将用户转发到表单登录名。
显然,您现在并没有想要的东西或实际使用的技术。智能卡身份验证是相互SSL身份验证。因此,您首先需要将Tomcat配置为接受基于SSL的身份验证。您的领域将收到X509证书,并将尝试在数据存储中找到您的DN。商店可以是任何东西,数据库,文件,目录等。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句