当我必须支持多个LDAP实现时,我应该使用哪个LDAP领域?

时间:2016-09-24 03:03:19

标签: active-directory ldap shiro

我要求我的(现场安装的基于Web的)应用程序通过LDAP进行身份验证,我正在尝试使用Apache Shiro来执行此操作。

我的大多数客户都有Microsoft Active Directory,但有几个人有Oracle Internet DirectoryOracle Virtual Directory,我想有人提到了OpenLDAP。

我根据名称猜测ActiveDirectoryRealm仅适用于Microsoft ActiveDirectory。是吗?

ActiveDirectoryRealm从AbstractLdapRealm扩展而不是从DefaultLdapRealm扩展。但是,DefaultLdapRealm从AuthorizingRealm扩展而不是AbstractLdapRealm,这令人困惑,我不确定我应该使用什么。

我是否应该向每个客户端发出指示,根据他们的LDAP实现更改shiro.ini?

我宁愿只有一个我可以用于所有客户端的实现,而不是用这样的低级配置来打扰它们。

我可能需要制作一个自定义Realm来处理other issues with Shiro。我是否必须在2个领域进行相同的更改 - 一个用于ActiveDirectory,另一个用于其他LDAP?

或者我是否制作了一个扩展DefaultLdapRealm并且必须重新实现搜索角色的ActiveDirectoryRealm中的代码?