Ich bin auf der Suche nach Web-API mit Flask und integrierte mit flask-admin
, um eine Admin-Schnittstelle zur Verfügung stellen. Ich habe gesucht und gefunden, dass Flask-Admin ein Admin-Panel bei /admin
hat und standardmäßig kann jeder Zugriff darauf haben. Es bietet kein Authentifizierungssystem und ist vollständig offen (ohne Sicherheit), da nicht davon ausgegangen wird, was zur Gewährleistung der Sicherheit verwendet wird. Diese API muss in der Produktion verwendet werden, so dass wir keine offene /admin
Route für alle Benutzer der URL haben können. Eine ordnungsgemäße Authentifizierung ist erforderlich.So sichern Sie die Flasche-Admin-Panel mit Kolben-Sicherheit
In views.py
kann ich nicht einfach die /admin
Route setzen und Authentifizierung durch Dekorator als das wäre überschreiben die bestehende Route bereits von flask-admin
erstellt, so dass würde einen Fehler verursachen würde.
Weitere Forschung zeigt, dass es zwei Module flask-admin
und flask-security
gibt. Ich weiß, dass flask-admin
hat is_accessible
Methode, um es zu sichern, aber es bietet nicht viel Funktionalität, die von flask-security
bereitgestellt wird.
Ich habe keine Methode dort gefunden, um den Endpunkt /admin
plus alle anderen Endpunkte zu sichern, die mit /admin
wie /admin/<something>
beginnen.
Ich suche speziell diese Aufgabe mit Flasch-Sicherheit. Wenn es nicht möglich ist, schlagen Sie bitte Alternativen vor.
PS: Ich weiß, ich kann ngnix
selbst sperren, aber das wäre die letzte Option. Wenn ich ein Authentifizierungssystem durch flask-security
haben könnte, wäre das gut.
Der Authentifizierungsmechanismus von Flask-Security (über Flask-Login) steuert den Rückgabewert von 'current_user.is_authenticated()'. Wenn Sie dies (möglicherweise in Verbindung mit einer Art Rollen-/Berechtigungsprüfung) in Ihrer 'is_accessible'-Implementierung zurückgeben, sollten Sie die Möglichkeit haben, den Schutz von Flask-Security innerhalb von Flask-Admin zu verwenden. – jonafato