我的Web应用程序当前配置为连接到LDAP以进行用户验证,而不依赖于应用程序服务器设置。换句话说,我的应用程序利用命名参数连接到LDAP,因此它与应用程序服务器无关,即。 JBoss或Websphere。
使用的命名参数如下: LDAPURL ldapPrincipal(绑定用户) ldapCredentials(绑定用户的密码) ldapAuthentication ldapSearchBase
现在的要求是在ldapCredentials命名参数中允许加密密码。我有办法摆脱这种情况是使用自定义SecurityLoginModule来加密密码并使用命名参数将其提供给应用程序。然后我的应用程序将对其进行解密,然后继续进行LDAP用户验证。但是,这会导致其他应用程序安装步骤。
所以我想知道是否有办法使用应用服务器安全域(或其他方式)以安全的方式在用户应用服务器上存储用户凭据,以后应用程序会在用户验证LDAP时将其取出无需在我的应用程序中编写特定于服我知道我们可以使用安全域来执行数据源连接,而无需编写特定于服务器的代码。但是,如果我为LDAP执行此操作,那么我将服务器与LDAP进行对话,这不是我正在寻找的。基本上可能仍然会继续使用联合用户而不是LDAP。
答案 0 :(得分:2)
任何体面的应用程序服务器(包括JBoss和WebSphere)都有服务器提供的LDAP注册表,您可以在没有任何特定于应用程序的代码的情况下进行配置和使用,我强烈建议使用它而不是编写自己的ldap连接代码
关于加密: