に対するログインrequetを検証するWakandaの方法があります:は、IP範囲にアプリケーションを公開するか、IP範囲
- のみ、特定のIPアドレスまたはIP範囲
- にWakandaアプリケーションを公開するには、ログイン要求を検証最初の質問のためにIPアドレスまたはIP範囲
に対するログインrequetを検証するWakandaの方法があります:は、IP範囲にアプリケーションを公開するか、IP範囲
私は1つで質問のいずれかをお答えします:
の1-
(あなたは、Linux上にある場合、インスタンスのためのiptablesを使用して)これは
2 -
お使いのOSのファイアウォールを使用して行われるべきですファイアウォールを使用してアプリケーションへのアクセスを制限する場合は、これを行う必要はありません。しかし、あなたが本当に必要な場合:
authentication REST APIを無効にすることはできないので、これを行うには良い方法はありません。次のように私が提案する回避策がある(しかし、私はActive Directoryを使用している場合、それがうまくいくとは思わない):
function login(request,response){
var ip = request.remoteAddress;
if(! isIPAuthorized(ip)){
response.statusCode = 403;
return;
}
sessionStorage["login-request"] = true;
/*
* Your login code here
* For instance you can use loginByPassword, createUserSession ..
*/
sessionStorage["login-request"] = false;
}
:あなたのような何かをどこ
は、認証/login
のカスタム要求ハンドラを追加します。
ログイン要求がsessionStorage
をチェックして、あなたのカスタムログイン機能やないから来たかどうかをチェックすることができますLogin Listener
内側:
if(!sessionStorage["login-request"]){
return {
"error" : 1024,
"errorMessage" : "Unautorized Login Attempt"
}
}
この方法では、IPがチェックされていないデフォルトのREST認証APIを使用したログイン試行は拒否されます。
に対する(カスタムログイン)は、プロジェクト設定ファイル(Settings.waSettings)でCross-origin resource sharingを有効にし、あなたがからドメイン名またはIPアドレスのリストを定義する必要があります外部ページが許可される場所CORS経由でWakanda Serverにデータ要求を送信します。複数のドメイン属性を追加してホワイトリストを作成することができます。
(他のすべてをブロックしながら)IPアドレスの特定の範囲に任意アプリケーションを公開するための最良の方法は、firewallです。ソフトウェアベースのファイアウォール(iptablesまたはwindows-firewallなど)でも、ハードウェアベースのファイアウォール(Cisco ASAなど)でもかまいません。ファイアウォールを使用すると、質問の第2部分の必要性が完全に緩和されます。
あなたの応答Hamzaに感謝します。ソリューションのカスタムログインハンドラ(required.jsファイル内)の 'request'オブジェクトにアクセスする方法はありますか? – Stefan
今日はできません。これをチームと議論して、現在のスレッドに添付されているリクエストに[HttpRequest](http://doc.wakanda.org/home2.en)としてアクセスするための 'httpServer.getRequest()'のようなものがあるかどうかを確認します。 .html#/ HTTP-Request-Handlers/HTTPRequest.201-803366.en.html) – hamzahik
これはすばらしいことであり、多くの可能性を開くでしょう。ありがとうございます – Stefan