2011-03-28 4 views
11

В моем веб-приложении у меня нет регистрации пользователей/входа в систему. У меня есть учетная запись пользователя, которая автоматически создается, когда пользователь впервые посещает сайт на основе файла cookie. Как я могу использовать Shiro для этой цели, чтобы аутентифицировать такого пользователя (а также воспользоваться другими функциями безопасности в Интернете)?Как использовать Shiro для аутентификации пользователя cookie или пользователя facebook?

Если пользователь выбирает логин через соединение Facebook, то как я могу использовать Shiro для этого сценария?

ответ

4

Хорошо, после того, как JohnS сказал мне, что связанное сообщение в блоге не работает, и какое-то время прошло, я переработал свой ответ.

В моем понимании, Apache Shiro не поддерживает (на момент написания этой статьи) OAuth, см. SHIRO-21 и SHIRO-119, а также комментарии к ним.

Существует две библиотеки, которые упрощают OAuth, Scribe и pac4j.

  • Scribe используется GAEShiro, который включает в себя мост между писцом и Сиро.
  • Pac4J используется buji-pac4j, который является клиентом нескольких протоколов для Apache Shiro. На связанной странице есть демонстрационная версия с проверкой подлинности Facebook, см. here. Я предлагаю использовать эту демонстрацию как начало.

Обязательно прочтите Facebook OAuth 2.0 и Server-Side Authentication). Если вы хотите, чтобы ваш сайт использовал OAuth 2.0, вам необходимо следовать руководству по ссылкам.

Существует также упоминается blog post и в качестве альтернативы вы можете использовать Spring security и Spring social, см Signing in with Service Provider Accounts.

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