flask_login
-
介绍:
flask_login是一个用于登录管理的flask轻型框架,大致的登录验证方式如下图所示。

这里需要说明一下,session信息在本地的存储方式为cookies,而在服务端是一个每次获取cookies然后从数据库读取数据进行对比的一个过程。对比的一个主要数据是User对象的get_id()方法返回的数据。
-
使用
-
User类的定义,继承db.Model(数据库)和UserMixin(登录用户):
class User(db.Model, UserMixin):
__tablename__ = 'user'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(255))
pd = db.Column( db.String(20), )
def get_id(self):
return self.id # 注意这个返回的参数 -
回调函数LoginManager() .user_loader
-
参数的配置
login_manager = LoginManager()
login_manager.session_protection = "strong" # 会话保护类型
login_manager.login_view = 'login' # 没有权限时返回的网页。 注意:”login“是endpoint
login_manager.init_app(app)
app.config["LOGIN_DISABLED"] = True # False, 是否过滤未登录用户。如果是True,那么login_required将不起作用 -
登录、退出、以及需要登录的若干视图
-
浙公网安备 33010602011771号