python - 使用 Flask-Praetorian 保护 Flask-Admin 路由
问题描述
我正在使用Flask-Praetorian
为我的 Flask API 服务器提供用户身份验证和路由保护功能。
安装Flask-Admin
到应用程序后,我注意到/admin
路由不受用户身份验证的保护。
我们如何使用Flask-Praetorian
来保护路由Flask-Admin
?
使用 Python 3.7.4、Flask 1.1.1、flask-praetorian 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
解决方案
推荐阅读
- r - 计算R中两个数据帧之间的新朋友和丢失朋友的数量
- node.js - 使用 -Node.js 使用 Selenium 处理浏览器通知
- c# - ContinueWith 和 without 有什么区别?
- macos - 使用反射运行 Go 服务器时 Mac 反复要求接受网络连接
- javascript - 仅添加选定的芯片
- drools - 有没有办法使用 Drools 引导规则编辑器验证日期字段格式?
- html - 我的图像代码在 Visual Studio 2019 中不起作用
- highcharts - 您可以添加到 highcharts 图表中的 y 轴的最大数量是多少?
- java - Java 堆栈跟踪不使用 log4j2 打印
- java - 支持无状态和有状态用法的 JPA 代码