Реализация AuthorizingRealm с помощью плагина Grails Shiro - PullRequest
3 голосов
/ 30 марта 2012

Я пытаюсь реализовать AuthorizingRealm с помощью плагина Grails Shiro.Аутентификация выполняется в Active Directory с использованием сгенерированного класса плагина ShiroLdapRealm.Роли будут поддерживаться в базе данных приложения.

Итак, как я могу интегрировать аутентификацию ShiroLdapRealm с моей собственной авторизацией?Мне кажется, что плагин Grails Shiro использует RealmWrapper, чтобы скрыть внутренности Shiro от мира Grails, и он реализует только стандартный класс Realm, а не AuthorizingRealm.

Есть идеи?Спасибо!

1 Ответ

1 голос
/ 30 марта 2012

Я раньше не работал с shiro, но я успешно использовал плагин shiro в нескольких проектах ...

Итак, если у вас уже есть работающий LdapRealm, скопируйте файл ShiroLdapRealm.groovy в безопасное место резервного копирования и удалите его из проекта ...

затем создайте область подстановочных символов Широ (create-wildcard-realm). Это создаст область с функциями аутентификации и авторизации.

Скопируйте метод authenticate() из вашего старого царства в этот ...

Теперь вы можете проходить аутентификацию на LDAP с допустимым ShiroUser результатом.

Вы можете назначить ShiroRole s с соответствующими разрешениями для этого пользователя.

Вы можете легко создавать необходимые роли с разрешениями в начальной загрузке и назначать их пользователю в соответствии с ACL, которые вы читаете из своей службы каталогов ...

надеюсь, что это поможет

...