我们正在使用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));
}
有没有办法避免重定向而不分支插件项目?
答案 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();
}
因此,您可以返回应用的任何路线。