Jboss 使用LDAP进行应用程序用户验证

Jboss 使用LDAP进行应用程序用户验证,jboss,ldap,websphere,wildfly,Jboss,Ldap,Websphere,Wildfly,我的web应用程序当前配置为连接到LDAP进行用户验证,而不依赖于应用程序服务器设置。换句话说,我的应用程序利用命名参数连接到LDAP,因此它与应用程序服务器即JBoss或Websphere无关 使用的命名参数如下所示: ldapURL ldapPrincipal(绑定用户) ldapCredentials(绑定用户密码) LDA认证 ldapSearchBase 现在的要求是允许在ldapCredentials命名参数中使用加密密码。我有一个解决这种情况的方法,就是使用自定义SecurityL

我的web应用程序当前配置为连接到LDAP进行用户验证,而不依赖于应用程序服务器设置。换句话说,我的应用程序利用命名参数连接到LDAP,因此它与应用程序服务器即JBoss或Websphere无关

使用的命名参数如下所示: ldapURL ldapPrincipal(绑定用户) ldapCredentials(绑定用户密码) LDA认证 ldapSearchBase

现在的要求是允许在ldapCredentials命名参数中使用加密密码。我有一个解决这种情况的方法,就是使用自定义SecurityLoginModule加密密码,并使用命名参数将其提供给应用程序。然后,我的应用程序将对其进行解密,然后继续LDAP用户验证。但是,这会导致额外的应用程序安装步骤


所以我想知道是否有一种方法可以使用ApplicationServer安全域(或其他某种方法)在ApplicationServer上以安全的方式存储用户凭据,稍后应用程序将在使用LDAP进行用户验证时获取该凭据,而无需在我的应用程序中编写特定于服务器的代码。我知道我们可以使用安全域来执行数据源连接,而无需编写特定于服务器的代码。但若我为LDAP这样做,那个么我会让服务器和LDAP对话,这不是我所看到的。基本上,您仍然可以继续使用联邦用户而不是LDAP。

任何像样的应用程序服务器(包括JBoss和WebSphere)都有服务器提供的LDAP注册表,您可以在不使用任何特定于应用程序的代码的情况下配置和使用它,我强烈建议您利用它,而不是编写自己的LDAP连接代码

关于加密:

  • 对于WebSphere traditional,您可以将自己的类插入到服务器基础结构中以加密密码,请参见-
  • 对于WebSphereLiberty,您对aes和哈希有现成的支持
  • 对于JBoss,谷歌上的第一个链接向我展示了这一点,但也许JBoss专家会引导您了解一些不同的东西

如果您决定存储凭据,可以在WAS中使用身份验证别名–请参阅