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