用户认证与授权是构建安全 Web 应用程序的关键部分。下面,我们讲解如何使用 Flask-Login 实现用户认证,以及如何进行基本的权限管理。
📦 安装依赖
首先,确保你已经安装了 Flask-Login:
pip install Flask-Login
🏗️ 设置用户模型
假设我们已经有一个 User
模型,我们需要为其添加方法,以便与 Flask-Login 兼容。至少,我们需要实现以下方法:
is_authenticated
is_active
is_anonymous
get_id
对于这个示例,我们假设用户名是唯一的,并用它作为用户的 ID:
from flask_login import UserMixin
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
password_hash = db.Column(db.String(128)) # 假设为用户存储密码散列
def __repr__(self):
return f'<User