modify: 权限认证完善
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
from .personnel import PersonnelConstant
|
||||
from .role import RoleConstant
|
||||
from .permission_mgt import PermissionMgtConstant
|
||||
from .system_config import SystemConfigConstant
|
||||
from .todo import TodoConstant
|
||||
|
||||
|
||||
class PermissionConstant:
|
||||
"""
|
||||
权限常量类 - 按业务模块分组管理所有系统权限
|
||||
|
||||
该类定义了系统中各个业务模块的权限标识符,采用分层结构组织:
|
||||
- 每个业务域作为一个内部类(Personnel, Role, Permission, SystemConfig, Todo)
|
||||
- 每个权限使用 "资源:操作" 格式定义
|
||||
|
||||
使用示例:
|
||||
>>> PermissionConstant.Personnel.PERSONNEL_CREATE
|
||||
'personnel:create'
|
||||
>>> PermissionConstant.get_all()
|
||||
['personnel:create', 'personnel:read', ...]
|
||||
"""
|
||||
|
||||
Personnel = PersonnelConstant
|
||||
PREFIX_PERSONNEL = "personnel"
|
||||
Role = RoleConstant
|
||||
PREFIX_ROLE = "role"
|
||||
Permission = PermissionMgtConstant
|
||||
PREFIX_PERMISSION = "permission"
|
||||
SystemConfig = SystemConfigConstant
|
||||
PREFIX_SYSTEM_CONFIG = "system_config"
|
||||
PREFIX_AUDIT_LOG = "audit_log"
|
||||
PREFIX_BACKUP = "backup"
|
||||
Todo = TodoConstant
|
||||
PREFIX_TODO = "todo"
|
||||
|
||||
@classmethod
|
||||
def get_all(cls):
|
||||
"""
|
||||
获取系统中定义的所有权限字符串列表
|
||||
|
||||
通过反射机制自动收集所有内部类中定义的权限常量。
|
||||
|
||||
Returns:
|
||||
list[str]: 所有权限字符串的列表
|
||||
"""
|
||||
perms = []
|
||||
for attr_name in dir(cls):
|
||||
attr = getattr(cls, attr_name)
|
||||
if attr_name.startswith("_") or not hasattr(attr, "__dict__"):
|
||||
continue
|
||||
# 遍历内部类的属性
|
||||
for sub_attr in dir(attr):
|
||||
if sub_attr.startswith("_"):
|
||||
continue
|
||||
val = getattr(attr, sub_attr)
|
||||
if isinstance(val, str) and ":" in val:
|
||||
perms.append(val)
|
||||
return perms
|
||||
|
||||
@classmethod
|
||||
def get_description_map(cls) -> dict:
|
||||
"""
|
||||
获取系统中所有权限的描述映射
|
||||
|
||||
Returns:
|
||||
dict[str, str]: 权限字符串到描述的映射字典
|
||||
"""
|
||||
description_map = {}
|
||||
for attr_name in dir(cls):
|
||||
attr = getattr(cls, attr_name)
|
||||
if attr_name.startswith("_") or not hasattr(attr, "__dict__"):
|
||||
continue
|
||||
description_dict = getattr(attr, "permission_description_dict", None)
|
||||
if isinstance(description_dict, dict):
|
||||
description_map.update(description_dict)
|
||||
return description_map
|
||||
@@ -0,0 +1,18 @@
|
||||
class PermissionMgtConstant:
|
||||
"""权限管理权限常量"""
|
||||
|
||||
PERMISSION_CREATE = "permission:create" # 创建权限
|
||||
PERMISSION_UPDATE = "permission:update" # 修改权限
|
||||
PERMISSION_DELETE = "permission:delete" # 删除权限
|
||||
PERMISSION_READ = "permission:read" # 读取权限
|
||||
PERMISSION_BIND = "permission:bind" # 分配权限
|
||||
PERMISSION_UNBIND = "permission:unbind" # 解绑权限
|
||||
|
||||
permission_description_dict = {
|
||||
PERMISSION_CREATE: "创建权限",
|
||||
PERMISSION_UPDATE: "修改权限",
|
||||
PERMISSION_DELETE: "删除权限",
|
||||
PERMISSION_READ: "读取权限",
|
||||
PERMISSION_BIND: "分配权限",
|
||||
PERMISSION_UNBIND: "解绑权限",
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
class PersonnelConstant:
|
||||
"""人员管理权限常量"""
|
||||
|
||||
PERSONNEL_CREATE = "personnel:create" # 创建人员
|
||||
PERSONNEL_READ = "personnel:read" # 读取人员
|
||||
PERSONNEL_UPDATE = "personnel:update" # 更新人员
|
||||
PERSONNEL_DELETE = "personnel:delete" # 删除人员
|
||||
|
||||
permission_description_dict = {
|
||||
PERSONNEL_CREATE: "创建人员",
|
||||
PERSONNEL_READ: "读取人员",
|
||||
PERSONNEL_UPDATE: "更新人员",
|
||||
PERSONNEL_DELETE: "删除人员",
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
class RoleConstant:
|
||||
"""角色管理权限常量"""
|
||||
|
||||
ROLE_CREATE = "role:create" # 创建角色
|
||||
ROLE_READ = "role:read" # 读取角色
|
||||
ROLE_UPDATE = "role:update" # 更新角色
|
||||
ROLE_DELETE = "role:delete" # 删除角色
|
||||
ROLE_BIND = "role:assign" # 分配角色
|
||||
ROLE_UNBIND = "role:unbind" # 解绑角色
|
||||
|
||||
permission_description_dict = {
|
||||
ROLE_CREATE: "创建角色",
|
||||
ROLE_READ: "读取角色",
|
||||
ROLE_UPDATE: "更新角色",
|
||||
ROLE_DELETE: "删除角色",
|
||||
ROLE_BIND: "分配角色",
|
||||
ROLE_UNBIND: "解绑角色",
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
class SystemConfigConstant:
|
||||
"""系统配置、审计日志与备份恢复权限常量"""
|
||||
|
||||
CONFIG_READ = "system_config:read" # 读取系统配置
|
||||
CONFIG_UPDATE = "system_config:update" # 更新系统配置
|
||||
AUDIT_LOG_READ = "audit_log:read" # 读取审计日志
|
||||
BACKUP_CREATE = "backup:create" # 创建备份
|
||||
BACKUP_RESTORE = "backup:restore" # 恢复备份
|
||||
|
||||
permission_description_dict = {
|
||||
CONFIG_READ: "读取系统配置",
|
||||
CONFIG_UPDATE: "更新系统配置",
|
||||
AUDIT_LOG_READ: "读取审计日志",
|
||||
BACKUP_CREATE: "创建备份",
|
||||
BACKUP_RESTORE: "恢复备份",
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
class TodoConstant:
|
||||
"""Todo任务管理权限常量"""
|
||||
|
||||
TODO_CREATE = "todo:create" # 创建待办事项
|
||||
TODO_READ = "todo:read" # 读取待办事项
|
||||
TODO_UPDATE = "todo:update" # 更新待办事项
|
||||
TODO_DELETE = "todo:delete" # 删除待办事项
|
||||
|
||||
permission_description_dict = {
|
||||
TODO_CREATE: "创建待办事项",
|
||||
TODO_READ: "读取待办事项",
|
||||
TODO_UPDATE: "更新待办事项",
|
||||
TODO_DELETE: "删除待办事项",
|
||||
}
|
||||
Reference in New Issue
Block a user