f103148ebf
基于 Flask + MySQL + Bootstrap 5 的全栈个人资料库管理系统。 主要功能: - 管理员/普通用户双角色权限体系,全站登录保护 - 资源管理:文本、图片、音频、视频四类资源 - 三种添加方式:本地上传(拖拽)、URL 后台下载、磁力下载(aria2c) - 在线预览:文本、图片、HTML5 音视频播放器 - 安全:bcrypt 加盐密码哈希、CSRF 防护、SQLAlchemy ORM 防注入 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
26 lines
652 B
Python
26 lines
652 B
Python
from functools import wraps
|
|
from flask import abort
|
|
from flask_login import current_user
|
|
|
|
|
|
def admin_required(f):
|
|
"""要求管理员权限"""
|
|
@wraps(f)
|
|
def decorated(*args, **kwargs):
|
|
if not current_user.is_authenticated or not current_user.is_admin:
|
|
abort(403)
|
|
return f(*args, **kwargs)
|
|
return decorated
|
|
|
|
|
|
def active_required(f):
|
|
"""要求账号处于激活状态"""
|
|
@wraps(f)
|
|
def decorated(*args, **kwargs):
|
|
if not current_user.is_authenticated:
|
|
abort(401)
|
|
if not current_user.is_active:
|
|
abort(403)
|
|
return f(*args, **kwargs)
|
|
return decorated
|