Play 2 Java authenticate插件 - HTTP状态代码响应而不是重定向

时间:2012-11-22 07:20:09

标签: java rest playframework-2.0 play-authenticate

我们正在使用Play 2 authenticate plugin作为REST API,我想简单地返回200或403进行登录尝试。

插件的代码如下所示:

public static Result loginAndRedirect(final Context context,
        final AuthUser loginUser) {
    storeUser(context.session(), loginUser);
    return Controller.redirect(getJumpUrl(context));
}

有没有办法避免重定向而不分支插件项目?

2 个答案:

答案 0 :(得分:1)

我最终在控制器上处理了这个问题:

public static Result login() {   
    Result r = MyUsernamePasswordAuthProvider.handleLogin(ctx());
    if (r instanceof Redirect && PlayAuthenticate.getUser(session()) != null) {
        return ok();
    }
    return forbidden();
}

虽然可能有更好的方法来做到这一点。

答案 1 :(得分:1)

我偶然发现了同样的情况,正如nico_ekito指出的那样,这可以通过扩展PlayAuthenticate.Resolver并覆盖:

来实现。
@Override
    public Call afterAuth() {
        return routes.Application.restAfterAuth();
    }

因此,您可以返回应用的任何路线。