跨服务器使用LDAP而不复制必要的Jars

时间:2010-08-11 11:30:27

标签: ldap

不幸的是,

不同J2EE服务器中的LDAP身份验证是不同的。

EG。如果我使用JBoss的LDAP登录模块在JBoss中开发用于LDAP身份验证的代码,99%的可能性是它不会在WebSphere或任何其他J2EE容器中运行。也许如果我导入库jar文件,它可能会工作。我正在考虑移植应用程序而不必担心库文件,除非我们编写了库。不得将J2EE服务器的库从一个服务器复制到另一个服务器。我不知道这是否可以被称为代码道德!!

是否存在用于LDAP的J2EE服务器独立模块或执行此操作的编程方式?

解决方案 - 从头开始​​使用JNDI的代码是唯一的方法吗?请指教。

1 个答案:

答案 0 :(得分:2)

我怀疑大多数J2EE容器已经有一个用于身份验证的LDAP模块,在这种情况下,您遇到的问题不是关于编程,而是关于将配置从一个容器调整到另一个容器。很少甚至不需要实际的代码。目前尚不清楚为什么要为LDAP身份验证开发自己的代码。

如果您确实希望此配置与容器无关,那么您肯定需要在webapp本身中嵌入身份验证。 例如,Restlet框架可以做到这一点,但它是更广泛的架构选择的一部分,可能会或可能不是您所追求的。

例如,即使您通过JNDI或JAAS编写自己的LDAP代码,也可能需要调整容器的配置,可能是因为它的安全管理器允许连接到LDAP服务器(如果已启用)或者至少配置在部署应用程序时使用的LDAP服务器。

我认为在一般情况下,使用容器的模块可能更明智(根据容器的不同而不同)。它最终取决于您在部署Web应用程序时如何配置它们。