2016-06-27 8 views
2

Как настроить логику аутентификации в Apache Shiro? В Spring Security я пишу пользовательскую логику внутри метода «аутентификации()» в AuthenticationManager:Настройка аутентификации Apache Shiro

public Authentication authenticate(Authentication auth) { ... }

Есть ли способ сделать то же самое в Apache Shiro?

ответ

1

Просьба ознакомиться с обзорами Shiro's authentication sequence и customizable realm authentication.

В зависимости от того, что вы хотите сделать, вашей собственной реализацией CredentialsMatcher может быть крючок, который вы ищете? Подробный ответ о том, какие части вам нужно настроить, зависит от вашего фактического сценария аутентификации.

+0

Спасибо за ваш ответ! У меня есть веб-приложение, адрес входа:/ls? Action = login Я читал, что должен вызвать метод login() для объекта SecurityUtils.getSubject(). Я не могу понять, как передать имя пользователя и пароль методу login(). Должен ли я вызвать этот метод login() внутри Servlet, а затем перенаправить на защищенное место? – 0bj3ct

+0

как бы вы это сделали в Spring Security? – fspinnenhirn

+1

Если все, что вы хотите сделать, это вызвать метод 'login()' с именем пользователя/pwd, просто создайте 'new UsernamePasswordToken (имя пользователя, пароль)' и передайте его как параметр 'login()', как описано [ здесь] (https://shiro.apache.org/authentication.html#Authentication-Authenticating%7B%7BSubjects%7D%7D) – fspinnenhirn

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