[英]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.