Wie kann ich die Registrierung von Flask-Sicherheit anpassen?

Was soll ich tun, wenn nötig, um die Rolle des Benutzers einzurichten, zB FooUser ? Wo muss ich das machen? In meiner eigenen /create_account Ansicht oder im Kontext-Prozessor?

 @app.route('/create_account') def create_account(): user_datastore.find_or_create_role('FooUser') user_datastore.add_role_to_user(user,role) return render_template('register_user.html') 

3 Solutions collect form web for “Wie kann ich die Registrierung von Flask-Sicherheit anpassen?”

Sie können Ansichten nach diesen Anweisungen anpassen: http://flask-security.readthedocs.org/de/latest/customizing.html

Und Sie können in den Benutzer Registrierungsprozess mit den Signalen haken: http://flask-security.readthedocs.org/de/latest/api.html#signals

Um eine Rolle zu einem Benutzer hinzuzufügen, müssen Sie die API von flask-security verwenden:

 flask_security.datastore.UserDatastore.add_role_to_user(user, role) 

Defnitiv werden Sie dies in Ihrem eigenen create_account oder ähnlichen Code zu tun. ContextProcessors werden verwendet, um Daten vor dem Rendern von Vorlagen vorzubereiten. Es bedeutet, dass Sie Benutzer- und Rollenobjekte erstellen oder abrufen und dann die obige API aufrufen, um die Rolle dem Benutzer zuzuweisen. Seien Sie spezifischer, wenn Sie weitere Hilfe benötigen.

WICHTIG! Zweiter Weg ist ziemlich einfach. @user_registered.connect_via(app) def user_registered_sighandler(sender, **extra): sender.logger.debug("logger-user_registered_sighandler:", extra) user = extra.get('user') role = user_datastore.find_or_create_role('farmer') user_datastore.add_role_to_user(user,role) db.session.commit() print "print-user_registered_sighandler:", extra

  • Python: Escaping Strings für den Einsatz in XML
  • Verwenden von DPAPI mit Python?
  • Markieren Sie die Daten als sensibel in Python
  • Lösen des Shared-Server-Sicherheitsproblems für Python
  • Hochwertiger, einfacher zufälliger Passwortgenerator
  • Wie man webbasierte python interaktive Shell macht
  • Sandboxen unter Linux
  • Passwort-Management für nicht-interaktive Prozess
  • Ist es ein guter Stil, um bash Befehle innerhalb eines Python-Skripts mit os.system ("bash code") aufzurufen?
  • Apache: Scammers Punkt Dutzende von Domain-Namen auf meinem dedizierten IP. Wie kann man das verhindern?
  • Sichere Optionen zum Speichern von Openssl-Passwort auf einem Server (Linux, Python, CherryPy)
  • Python ist die beste Programmiersprache der Welt.