为 Hertz System 提供基于角色的权限管理能力,支持为用户分配角色、配置菜单与接口权限,构建细粒度的后台访问控制体系。
本插件基于后端模块 hertz_studio_django_auth,用于在 Hertz System 中实现角色与权限管理,包括用户-角色-菜单/接口的绑定关系,帮助你构建标准的 RBAC(基于角色的访问控制)体系。
在部署 Hertz System 的后端虚拟环境中,通过公司私有 PyPI 源安装角色管理插件依赖:
pip install hertz-studio-django-auth -i https://username:password@hzpypi.hzsystems.cn/simple/
安装完成后,在项目的 settings.py 中注册应用:
INSTALLED_APPS += [
"hertz_studio_django_auth",
]
如有需要,执行数据库迁移以创建相关权限表结构:
python manage.py migrate
在管理端菜单中增加「角色管理」「菜单管理」等入口,一般可以放在「系统管理」或「权限中心」分组下,指向本插件提供的角色/权限配置页面。
前端在渲染菜单树、按钮权限、路由守卫时,可以基于当前登录用户的角色信息,从后端获取已授权的菜单与接口列表,从而控制页面和操作按钮的显示/隐藏。
根据实际情况,你可以在 .env 或配置中心中补充权限相关配置,例如:
AUTH_SUPERUSER_ROLE=super_admin
AUTH_DEFAULT_ROLE=user
AUTH_PERMISSION_CACHE_TTL=300
上述配置仅为示例,用于指定默认角色、超级管理员角色标识以及权限缓存时间,具体以后端实际实现为准。
建议先梳理系统中的典型角色(如系统管理员、运维人员、业务管理员、普通用户等),并为每类角色规划需要访问的菜单和可执行的操作范围。
在「角色管理」页面中创建角色,并在「菜单/权限分配」页面中为各角色勾选可访问的菜单、按钮和接口,保存后即可生效。
在用户管理页面中,将用户关联到一个或多个角色。用户登录后,系统会根据其角色自动加载对应权限,控制左侧菜单展示和页面内按钮显隐。
可以结合「日志管理插件」,对涉及权限变更的操作(如赋予管理员角色、调整关键菜单权限等)进行重点记录和审计,提升系统安全性与可追溯性。
以下为角色管理插件在系统中的部分界面示意,包括角色列表、角色权限分配和用户角色关联等页面。
将上述示例替换为你实际系统中的角色管理截图,点击图片可进入放大预览模式。