Flask-Login
Flask-Login
苏陌年 发表于1年前
Flask-Login
  • 发表于 1年前
  • 阅读 24
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

Flask-Login:管理已登录用户的用户会话 Werkzeug:计算密码散列值并进行核对 itsdangerous:生成并核对加密安全令牌

Flask-Login

> Flask-Login provides user session management for Flask. It handles the common tasks of logging in, logging out, and remembering your users’ sessions over extended periods of time.

  • 配置你的应用
login_manager = LoginManager()
login_manager.init_app()
login_manager.session_protection = 'strong'
login_manager.login_view = 'admin.login'
  • 配置获取用户方法
@login_manager.user_loader
def load_user(user_id):
	return User.get(user_id)
  • 当前用户类实现实现的方法
is_authenticated: 账户是否授权,一般设为True
is_active: 账户活跃属性,一般设为True
is_anonymous: 是否匿名用户,一般设为False
get_id: unicode属性id
  • flask-login已经实现
from flask_login import UserMixin
class User(UserMixin):
	pass
  • login_user,logout_user
def login():
	name = request.form['username']
	password = request.form['password']
	if verify_password(self, password):
		login_user(user, remember=True)
def logout():
	logout_user()
  • 密码加密比对
from werkzeug.security import generate_password_hash, check_password_hash
class User(UserMixin, db.Document):
    name = db.StringField(required=True, max_length=64)
    password = db.StringField(max_length=255)

    @staticmethod
    def generate_password(password):
        return generate_password_hash(password)

    def verify_password(self, password):
        return check_password_hash(self.password, password)
  • 保护路由
from flask_login import login_required
@app.route('/secret')
@login_required
def sercet():
	return "Only auth users are allowed"
标签: Flask-Login
共有 人打赏支持
粉丝 0
博文 4
码字总数 1058
×
苏陌年
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: