Как получить доступ к пользовательской сессии в обработчике Deadbolt2 - PullRequest
2 голосов
/ 26 марта 2012

Я пытаюсь использовать Deadbolt2 в приложении play2, и я застрял с реализацией getRolesHolder () в моем обработчике Deadbolt.

В примере приложения есть этот пример:

public class MyDeadboltHandler extends AbstractDeadboltHandler
{
    public RoleHolder getRoleHolder()
    {
        // in a real application, the user name would probably be
        // in the session following a login process
        return User.findByUserName("steve");
    }
}

Моя проблема: как я могу получить сессию в getRoleHolder ()?

Я пытался вызвать Context.current (). Session (); , но у меня появилась следующая ошибка:
Здесь нет HTTP-контекста.

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

Ответы [ 2 ]

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

Кажущаяся переменная доступность контекста начинает немного раздражать.Я изменю подпись getRoleHolder (), чтобы взять контекст.Зарегистрируйтесь в github примерно через 10 минут и обновите версию Deadbolt для Build.scala до версии 1.1-SNAPSHOT

0 голосов
/ 27 марта 2012

С этим аксессором

Session session = play.mvc.Http.Context .current().session()

Больше сэмплов от Play1 до Play2 при https://github.com/playframework/Play20/wiki/Play-2.0-for-Play-1.x-developers

...