繁体   English   中英

Play 2 Java 身份验证插件 - HTTP 状态代码响应而不是重定向

[英]Play 2 Java authenticate plugin - HTTP status code response instead of redirect

我们正在为 REST API 使用Play 2 身份验证插件,我想简单地返回 200 或 403 进行登录尝试。

该插件的代码如下所示:

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

有没有办法在不分叉插件项目的情况下避免重定向?

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

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

不过,可能有更好的方法来做到这一点。

我只是偶然发现了同样的场景,正如 nico_ekito 指出的那样,这可以通过扩展PlayAuthenticate.Resolver和覆盖来实现:

@Override
    public Call afterAuth() {
        return routes.Application.restAfterAuth();
    }

所以你可以返回你的应用程序的任何路线。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM