簡體   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