基于统一身份认证平台的软著证书管理系统设计与实现
from flask import Flask, request, jsonify
from functools import wraps
app = Flask(__name__)
# 模拟用户数据库
users = {
"alice": {"password": "123456", "role": "developer"},
"bob": {"password": "654321", "role": "admin"}
}
def token_required(f):
@wraps(f)
def decorated(*args, **kwargs):
token = request.headers.get('Authorization')
if not token:
return jsonify({"message": "Token is missing!"}), 401
try:
data = jwt.decode(token, app.config['SECRET_KEY'], algorithms=["HS256"])
current_user = users[data['username']]
except Exception as e:
return jsonify({"message": "Invalid token!", "error": str(e)}), 401
return f(current_user, *args, **kwargs)
return decorated
@app.route('/download', methods=['GET'])
@token_required
def download(current_user):
if current_user['role'] == 'developer':
return jsonify({"message": "Download allowed.", "file": "soft_copyright_certificate.pdf"})
else:
return jsonify({"message": "Access denied."}), 403
if __name__ == '__main__':
app.run(debug=True)
]]>
本站知识库部分内容及素材来源于互联网,如有侵权,联系必删!