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()

https://github.com/playframework/Play20/wiki/Play-2.0-for-Play-1.x-developersにあるPlay1からPlay2へのその他のサンプル

于 2012-03-27T02:08:24.957 に答える