您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

flask-login:无法理解其工作原理

flask-login:无法理解其工作原理

Flask- login实际上没有用户后端,它只是处理会话机制来帮助您登录和注销用户。您必须(通过装饰方法)告诉它,代表用户的是什么,并且还需要您弄清楚如何知道用户是否“活跃”(因为“活跃”在不同的应用程序中可能意味着不同的事情) )。

您应该阅读文档,并确定它可以 什么和不可以做什么在这里,我只专注于与db后端进行连接。

首先,定义一个用户对象。代表用户属性。然后,该对象可以查询数据库,LDAP或任何对象,它是将登录机制与数据库后端连接的钩子。

为此,我将使用登录示例脚本。

class User(UserMixin):
    def __init__(self, name, id, active=True):
        self.name = name
        self.id = id
        self.active = active

    def is_active(self):
        # Here you should write whatever the code is
        # that checks the database if your user is active
        return self.active

    def is_anonymous(self):
        return False

    def is_authenticated(self):
        return True

创建用户对象后,需要编写一种加载用户方法(基本上是User从上面创建该类的实例)。使用用户ID调用方法

@login_manager.user_loader
def load_user(id):
     # 1. Fetch against the database a user by `id` 
     # 2. Create a new object of `User` class and return it.
     u = DBUsers.query.get(id)
    return User(u.name,u.id,u.active)

完成这些步骤后,您的登录方法将执行以下操作:

检查用户名和密码是否匹配(针对您的数据库)-您需要自己编写此代码

如果身份验证成功,则应将用户实例传递给 login_user()

Python 2022/1/1 18:13:59 有516人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶