插件一:Flask-HTTPAuth
参考:https://www.cnblogs.com/minuhy/p/14697821.html 来源:https://pypi.org/project/Flask-HTTPAuth/
安装 Flask-HTTPAuth
pip install Flask-HTTPAuth
指定 url 做 auth
from flask import Flask
from flask_httpauth import HTTPBasicAuth
from werkzeug.security import generate_password_hash, check_password_hash
app = Flask(__name__)
auth = HTTPBasicAuth()
users = {
"john": generate_password_hash("hello"),
"susan": generate_password_hash("bye")
}
@auth.verify_password
def verify_password(username, password):
if username in users and \
check_password_hash(users.get(username), password):
return username
@app.route('/')
@auth.login_required
def index():
return "Hello, %s!" % auth.current_user()
if __name__ == '__main__':
app.run()
Digest authentication example
from flask import Flask
from flask_httpauth import HTTPDigestAuth
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret key here'
auth = HTTPDigestAuth()
users = {
"john": "hello",
"susan": "bye"
}
@auth.get_password
def get_pw(username):
if username in users:
return users.get(username)
return None
@app.route('/')
@auth.login_required
def index():
return "Hello, %s!" % auth.username()
if __name__ == '__main__':
app.run()
插件二:Flask-BasicAuth
来源:https://blog.csdn.net/mouday/article/details/83150294 参考:https://flask-basicauth.readthedocs.io/en/latest/
安装 Flask-BasicAuth
pip install Flask-BasicAuth
使用方式
# -*- coding: utf-8 -*-
# @Date : 2018-10-18
# @Author : Peng Shiyu
from flask import Flask
from flask_basicauth import BasicAuth
app = Flask(__name__)
app.config['BASIC_AUTH_USERNAME'] = 'admin'
app.config['BASIC_AUTH_PASSWORD'] = '123456'
# app.config['BASIC_AUTH_FORCE'] = True # 整个站点都验证
basic_auth = BasicAuth(app)
@app.route('/')
def index():
return "hello world"
@app.route('/secret')
@basic_auth.required
def secret():
return "hello world secret"
if __name__ == '__main__':
app.run()