我正在尝试配置 apache shiro 以使用我们的 LDAP 服务器进行身份验证。我对LDAP不是很熟悉,所以请原谅我的无知!
在 shiro.ini 中使用以下选项可以正常工作(用户已通过身份验证):
ldapRealm.userDnTemplate = uid={0},ou=users,dc=mycompany,dc=com
但是,我们公司有不止一个组织单位(ou)。如何使 ou 参数采用多个值?我可以用这个吗
ldapRealm.userDnTemplate = uid={0},ou=*,dc=mycompany,dc=com
我只想尝试所有组织单位,直到登录成功。
添加具有不同 ou 的额外 ldap 领域怎么样:
#ldapRealm1 ldapRealm1 = org.apache.shiro.realm.ldap.JndiLdapRealm ldapRealm1.userDnTemplate = uid={0},ou=users1,dc=mycompany,dc=com ldapRealm1.contextFactory.url = ldap://test.com:389 #ldapRealm2 ldapRealm2 = org.apache.shiro.realm.ldap.JndiLdapRealm ldapRealm2.userDnTemplate = uid={0},ou=users2,dc=mycompany,dc=com ldapRealm2.contextFactory.url = ldap://test.com:389 #ldapRealm3 ldapRealm3 = org.apache.shiro.realm.ldap.JndiLdapRealm ldapRealm3.userDnTemplate = uid={0},ou=users3,dc=mycompany,dc=com ldapRealm3.contextFactory.url = ldap://test.com:389
这行得通吗?
还可以在登录页面中添加一个下拉列表以允许用户选择他们的组织单位并将其作为参数传递给 ldapRealm 吗?我应该如何处理?
TIA,塞拉芬