如何在Deadbolt2 Handler中访问用户会话

时间:2012-03-26 17:24:23

标签: java playframework-2.0 deadbolt

我正在尝试在play2应用程序中使用Deadbolt2,并且我在Deadbolt Handler中遇到了getRolesHolder()的实现。

在示例应用程序中,有以下示例:

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 个答案:

答案 0 :(得分:1)

上下文的看似可变的可用性开始变得有点烦人。我将更改getRoleHolder()的签名以获取上下文。在大约10分钟内检查github,并更新您的Build.scala版本的Deadbolt以采取1.1-SNAPSHOT

答案 1 :(得分:0)

使用此访问者

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

https://github.com/playframework/Play20/wiki/Play-2.0-for-Play-1.x-developers

更多Play1到Play2样本