0

Playでアクセスを制御したいcouchappがあります!ユーザーごとに。私の計画は、内部でのみアクセス可能なポート xxxx で couchapp をホストし、Play! をホストすることです。ポート 80 で。

Apacheでは、次のようにします。

ProxyPass /couchapp http://localhost:xxxx
ProxyPassReverse /couchapp http://localhost:xxxx

ただし、このアプローチには認証がありません。プレイ!いくつかのプロキシ機能がありますが、これにユーザー認証を追加する方法がわかりませんhttp://www.playframework.com/documentation/2.0/HTTPServer

Play にユーザー認証を追加する方法を教えてください。プロキシー?コードは次のようになります。

// Routes all request to http://localhost:xxxx/ if authenticated
public static Result useProxy() {
    if (!session("authorized").equals("true")) {
        String pingURL = "";
        return redirect(pingURL); // will call pingCallback after login
    }
    return ok(); // take the original request to /couchapp/xxxx.asset and proxy it to http://localhost:xxxx/xxxx.asset
}

public static Result pingCallback() {
    Form<PingResponse> pingResponseForm = Form.form(PingResponse.class);
    PingResponse pingResponse = pingResponseForm.bindFromRequest().get();
    if (!pingResponse.isAuthorized()) {
        return unauthorized();
    } else {
        session("authorized", "true");
    }
    return ok(); // take the original request to /couchapp/xxxx.asset and proxy it to http://localhost:xxxx/xxxx.asset
}

ありがとう!

4

2 に答える 2

1

追加してみましたか:

-Dhttp.proxyUser=username -Dhttp.proxyPassword=password
于 2013-04-18T19:59:22.047 に答える