0

我使用示例向我的应用程序添加了简单的身份验证。带有以下注释:

 @Security.Authenticated(ShlangAuthenticator.class)
public static Result processShlangCommand()

ShlangAuthenticator 类基于示例:

public class ShlangAuthenticator extends Security.Authenticator {

@Override
public String getUsername(Context ctx)
{
    String s = ctx.session().get("email"); 
    System.err.println("getUsernameCalled: " + s);
    return s;
}

@Override
public Result onUnauthorized(Context ctx)
{

    System.err.println("onUnauthorized called");
    return redirect("http://localhost/#/login");

}

}

我遇到的问题是每次调用 Action (processShlangCommand()) 都会被 play (Play 2.1.1) 调用两次,我打印了堆栈跟踪,它似乎是相同的。对此的任何帮助将不胜感激。

4

1 回答 1

1

也许是因为您使用 System.err 进行记录,而不是使用默认记录器?无论如何,对于身份验证,我正在使用这个模块:https ://github.com/joscha/play-authenticate

于 2013-07-22T15:27:27.037 回答