基于統(tǒng)一身份認(rèn)證平臺(tái)的軟著證書(shū)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
from flask import Flask, request, jsonify
from functools import wraps
app = Flask(__name__)
# 模擬用戶數(shù)據(jù)庫(kù)
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)
]]>
本站知識(shí)庫(kù)部分內(nèi)容及素材來(lái)源于互聯(lián)網(wǎng),如有侵權(quán),聯(lián)系必刪!
讀過(guò)這篇文章的讀者還喜歡:
聊聊統(tǒng)一身份認(rèn)證中的科學(xué)奧秘基于統(tǒng)一身份認(rèn)證平臺(tái)的大學(xué)信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)漳州之樂(lè):探索統(tǒng)一身份認(rèn)證系統(tǒng)的便捷與用戶手冊(cè)的魅力統(tǒng)一身份認(rèn)證在公司開(kāi)發(fā)中的應(yīng)用與挑戰(zhàn)智慧融合:統(tǒng)一身份認(rèn)證平臺(tái)與手冊(cè)的協(xié)同設(shè)計(jì)歡樂(lè)分享:南京大學(xué)的統(tǒng)一身份認(rèn)證系統(tǒng)構(gòu)建高效安全的在線統(tǒng)一身份認(rèn)證體系基于統(tǒng)一身份認(rèn)證的手冊(cè)設(shè)計(jì)與實(shí)現(xiàn)統(tǒng)一身份認(rèn)證系統(tǒng)在工程學(xué)院的應(yīng)用與優(yōu)勢(shì)大學(xué)中統(tǒng)一身份認(rèn)證系統(tǒng)的構(gòu)建與應(yīng)用