Python——Flash框架——用户认证

一、认证扩展

  1、Flask-Login:管理已登录用户的用户会话

  2、Werkzeug:计算几码散列值并进行核对

  3、itsdangerous:生成并核对加密安全令牌

二、Werkzeug

  generate_password_hash(password,method=pbkdg2:sha1,salt_legth=8):这个函数将原始密码作为输入,以字符串形式输出密码的散列值,输出的值可保持在用户数据库中。method=pbkdg2:sha1,salt_legth=8的默认值九能满足大多数要求

  check_password_hash(hash,pawword):这个函数的参数是从数据库中取回密码散列值和用户输入密码,返回值为True说明密码正确

三、Flask-Login

  1、实现的用户方法

方法 说明
is_authenticated() 如果用户已经登录,必须返回True,否则返回False
is_active() 如果允许用户登录,必须返回True
is_anonymous() 对于普通用户必须返回False
get_id() 必须返回用户的唯一表示,使用Unicode编码字符串

  2、模型类实现

  3、在程序的工厂函数初始化

  4、login_required修饰器的保护路由:未认证的用户访问这个路由,拦截请求.

from flask.ext.login import login_required
@app.route('/secret')
@login_required
def secret():
    return ('Only authenticated users are allowed!')

  5、登录用户

  6、渲染表单

  7、登出用户

from flask.ext.login import logout_user,login_required
@app.route('/logout')
@login_required
def logout():
    logout_user()
    flash('You hanve been logged out.')
    return redirect(url_for('main.index'))

  8、用户注册

四、确认账户

 

posted @ 2019-03-06 11:44  澄心元素  阅读(2415)  评论(0编辑  收藏  举报