Ich werde die Fragen einer nach der anderen beantworten:
1-
Dies sollte Ihr O‘Firewall (unter Verwendung von iptables zum Beispiel, wenn Sie auf Linux sind) durchgeführt wird unter Verwendung von
2-
Wenn Sie den Zugriff auf die App mithilfe der Firewall beschränken, müssen Sie dies möglicherweise nicht tun. Aber wenn Sie wirklich brauchen:
Heute gibt es keinen guten Weg, dies zu tun, weil Sie die authentication REST API nicht deaktivieren können. Die Abhilfe, die ich vorschlagen, ist wie folgt (aber ich glaube nicht, es wird funktionieren, wenn Sie Active Directory verwenden):
eine benutzerdefinierte Request-Handler hinzufügen zur Authentifizierung /login
wo man so etwas tun:
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;
}
In Ihrem Login Listener
Sie können überprüfen, ob die Anmeldeanfrage von Ihnen benutzerdefinierte Login-Funktion geliefert wurde oder nicht, indem die Überprüfung sessionStorage
:
if(!sessionStorage["login-request"]){
return {
"error" : 1024,
"errorMessage" : "Unautorized Login Attempt"
}
}
Auf diese Weise wird jeder Anmeldeversuch mit der standardmäßigen REST-Authentifizierungs-API, bei der IPs nicht geprüft werden, abgelehnt.
danke für Ihre Antwort Hamza. Gibt es eine Möglichkeit, auf das Objekt 'request' im benutzerdefinierten Anmeldehandler (in der Datei 'required.js') der Lösung zuzugreifen? – Stefan
Heute ist es nicht möglich. Ich werde dies mit dem Team besprechen, um zu sehen, ob wir etwas wie 'httpServer.getRequest()' haben können, um auf die Anforderung zuzugreifen, die dem aktuellen Thread als [HttpRequest] angehängt ist (http://doc.wakanda.org/home2.de) .html #/HTTP-Request-Handler/HTTPRequest.201-803366.de.html) – hamzahik
das wäre großartig und würde viele Möglichkeiten eröffnen. Danke – Stefan