我目前正在使用 Flask 制作一个后端应用程序来管理基于组织的用户消费的资源。
由于我使用 Flask-SQLAlchemy,我决定使用 Flask-Admin 作为数据库的管理视图,但我在保护视图时遇到了问题。
我正在尝试使用 Flask-BasicAuth 来保护管理视图,但由于路由是自动生成的,我无法向其中添加 @basic-auth.required 装饰器。强制站点使用 Flask-BasicAuth 会阻塞资源端点,因此不是一个好的解决方案。
尝试过这样的事情,但它不起作用:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_admin import Admin
from flask_admin.contrib.sqla import ModelView
from flask_basicauth import BasicAuth
app = Flask(__name__)
db = SQLAlchemy(app)
basic_auth = BasicAuth(app)
admin = Admin(app)
class Module(db.Model):
__tablename__='Modules'
name = db.Column(db.String(30), unique=True, nullable=False)
@basic_auth.required
class AdminView(ModelView):
pass
admin.add_view(AdminView(Module, db.session))
TL;DR:Flask 管理员假设我使用登录和会话管理器。Flask BasicAuth 假设我可以手动声明路由。需要在不阻塞资源端点的情况下以某种方式集成它们。
慕尼黑5688855
九州编程
相关分类