Я использую Flask-Praetorian
, чтобы предоставить моему серверу Flask API функции аутентификации пользователей и защиты маршрутов.
После установки Flask-Admin
в приложение я заметил, что /admin
маршруты не защищены аутентификацией пользователя.
Как мы можем использовать Flask-Praetorian
для защиты маршрутов Flask-Admin
?
Использование Python 3.7.4, Flask 1.1.1, флакон-преторианец 1.0.0, Flask-Admin 1.5.4, Flask-SQLAlchemy 2.4.1
from flask_sqlalchemy import SQLAlchemy
from flask_praetorian import Praetorian
from flask_admin import Admin
db = SQLAlchemy()
guard = Praetorian()
admin = Admin()
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
...
def create_app():
app = Flask(__name__)
db.init_app(app)
guard.init_app(app, User)
admin.init_app(app)
# Example of protected route
@app.route('/protected', methods=['GET'])
@auth_required
def protected():
return jsonify({'logged_in': 'true'})
return app