2

我正在尝试在 play2 应用程序中使用Deadbolt2,但我在我的 Deadbolt 处理程序中遇到了 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 上下文。

有任何想法吗 ?
谢谢

4

2 回答 2

1

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

于 2012-03-27T15:07:33.830 回答
0

使用此访问器

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

更多 Play1 到 Play2 示例,请访问https://github.com/playframework/Play20/wiki/Play-2.0-for-Play-1.x-developers

于 2012-03-27T02:08:24.957 回答