LDAPサーバーを使用して認証するようにapacheshiroを構成しようとしています。私は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、セラフェイム