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
}
ありがとう!