您好,登錄后才能下訂單哦!
pip install flask-httpauth 基于簡單密碼的認證 from flask_httpauth import HTTPBasicAuth auth=HTTPBasicAuth() @auth.verify_password def verify_password(username, password): user = User.query.filter_by(username = username).first() if not user or not user.verify_password(password): return False g.user = user return True 通過實現verify_password回調函數去驗證用戶名和密碼,驗證通過返回True,否則返回False。然后Flask-HTTPAuth再調用這個回調函數,這樣就可以輕松自定義驗證方法。 如果用戶名與密碼驗證通過,user對像會被存儲到Flask的g對像中。(注:對象 g 存儲在應用上下文中而不再是請求上下文中,這意味著即使在應用上下文中它也是可訪問的而不是只能在請求上下文中。)方便其它函數使用。 @app.route('/api/resource') @auth.login_required def get_resource(): return jsonify({ 'data': 'Hello, %s!' % g.user.username }) 讓我們使用已經注冊的用戶來請求看看: $ curl -u ok:python -i -X GET http://127.0.0.1:5000/api/resource HTTP/1.0 200 OK Content-Type: application/json Content-Length: 30 Server: Werkzeug/0.9.4 Python/2.7.3 Date: Thu, 28 Nov 2013 20:02:25 GMT { "data": "Hello, ok!" } 如果登錄錯誤,會返回以下內容: $ curl -u miguel:ruby -i -X GET http://127.0.0.1:5000/api/resource HTTP/1.0 401 UNAUTHORIZED Content-Type: text/html; charset=utf-8 Content-Length: 19 WWW-Authenticate: Basic realm="Authentication Required" Server: Werkzeug/0.9.4 Python/2.7.3 Date: Thu, 28 Nov 2013 20:03:18 GMT Unauthorized Access
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。