Отображение аутентифицированной информации о пользователе в заголовке с безопасным социальным и воспроизведением mvc

В настоящее время я работаю над аутентификацией с помощью play 2.x и плагином securesocial с помощью scala.

На моем веб-сайте всегда должна быть информация о пользователе, такая как «Имя пользователя», «аватар» и т. Д., В заголовке все время, если только пользователь не выйдет из системы.

Теперь, используя безопасные социальные сети, я пытаюсь получить текущего пользователя запроса и сделал его неявным, чтобы я мог получить значение для всех запросов и не передавать его в качестве параметров шаблону.

implicit def user(implicit request: RequestHeader) = SecureSocial.currentUser;

Но для securesocial.core.SecureSocial требуется неявный запрос, который я не могу использовать. У меня есть действие {} в моем контроллере. Использование неявного очень удобно, но я нахожу безопасные социальные вещи довольно запутанными.


person Giri    schedule 24.08.2013    source источник


Ответы (2)


Объект запроса, который вы получаете в SecuredActions, уже имеет пользователя: request.user выдаст вам текущего пользователя. Если вы передадите этот экземпляр своим представлениям, у вас будет доступ к пользователю. См. SecuredRequest в SecureSocial.scala.

person Jorge    schedule 03.09.2013
comment
Привет @Jorge, если пользователь не вошел в систему, защищенное действие перенаправит меня. На моем попечении я хочу показать кнопку входа/выхода с информацией о вошедшем в систему пользователе. См. мой вопрос и мой ответ в stackoverflow.com/questions/18369540/ . Дайте мне знать, если это можно улучшить. - person Giri; 04.09.2013

Попробуйте UserAwareAction вместо SecuredActions, если вы не хотите перенаправления

person Adrian Scott    schedule 24.01.2014