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、用戶注冊

四、確認賬戶

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM