🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
Flask-HTTPAuth 是一个针对 Flask 应用开发的轻量级认证库。它支持基本的 HTTP 认证和摘要 HTTP 认证,并且提供了很好的定制器,你可以定制自己的角色验证、权限验证等逻辑。 以下是一个使用 Flask-HTTPAuth 进行 HTTP Basic AUTH 认证的简单例子: python Copy code 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, {}!".format(auth.current_user()) if __name__ == '__main__': app.run() 在上述代码中: 我们首先从 flask_httpauth 模块中导入 HTTPBasicAuth 类,然后创建一个 HTTPBasicAuth 的实例 auth。 定义了两个用户名和密码,并用 werkzeug.security 中的 generate_password_hash 函数加密密码。 使用装饰器 @auth.verify_password 定义了用于验证用户名和密码的函数 verify_password()。 在 index 视图函数中使用 @auth.login_required 装饰器,表明访问该视图需要认证。 auth.current_user() 得到当前已认证的用户名。 注意,这只是一个演示示例,实际上你不应该在代码里面硬编码用户名和密码。在实际应用中,你应该将用户数据存储在数据库或其他安全的地方。