2015-06-23 4 views
2

Мой вопрос на самом деле этот вопрос именно: Shiro JndiLdapRealm authorization against LDAPНастройка авторизации для JNDILdapRealm в Shiro

В итоге, Shiro documentation состояния:

Если вы хотите, чтобы выполнить авторизацию на основе схемы LDAP, вы должны создать подкласс этот (JNDILdapRealm) и переопределить этот метод (doGetAuthorizationInfo), чтобы отразить модель данных вашей организации.

Я смущен принятым решением, поскольку SearchBase не определен, и это похоже на то, что является частью ActiveDirectoryRealm, а не JndiLdapRealm. getRoleNamesForGroups также не определено, но я предполагаю, что в моем сопоставлении имя группы будет именем роли.

Я пытаюсь получить разрешение на отображение групп ldap -> сиро ролей для Forumsys's Test Ldap Server, а затем вернуть их в doGetAuthorizationInfo. Код, я использую, чтобы настроить свой подкласс LdapRealm (который проходит JndiLdapRealm, и который работает для аутентификации) выглядит следующим образом:

LdapRealm ldapRealm = new LdapRealm(); 
ldapRealm.setUserDnTemplate("uid={0},dc=example,dc=com"); 
JndiLdapContextFactory cf1 = new JndiLdapContextFactory(); 
cf1.setUrl("ldap://ldap.forumsys.com:389"); 
ldapRealm.setContextFactory(cf1); 

Кто-нибудь есть пример того, что функциональный код авторизации должен выглядеть? Или есть простая модификация принятого ответа на другой вопрос, который будет работать?

В качестве альтернативы, есть ли способ заставить тестовый сервер Forumys работать с ActiveDirectoryRealm вместо этого (что, на мой взгляд, реализует авторизацию)?

+0

Недурно только для получения setUserDnTemplate для меня на форумах! – opticyclic

ответ

1

Итак, я полагаю, что ответ на этот вопрос: авторизация будет зависеть от того, как сервер ldap хранит роли и как вы хотите воспринимать роли. Jxplorer был полезен для просмотра структуры.

Что касается заставить его работать с forumsys, то SearchBase должен быть «DC = пример, DC = ком» и вместо проверки на «memberOf», он должен проверить «НУ»

+0

Далее я расскажу об этом и скажу, что на Форумы: «пользователи подключены к своим группам с использованием атрибута uniqueMember в группе и не живут непосредственно под группами (ou), как в некоторых конфигурациях LDAP». , что было еще одним поводом для путаницы. Это цитата из комментариев страницы [Forumsys] (http://www.forumsys.com/tutorials/integration-how-to/ldap/online-ldap-test-server/) – vgm

Смежные вопросы