插件市场/角色管理插件

角色管理插件

为 Hertz System 提供基于角色的权限管理能力,支持为用户分配角色、配置菜单与接口权限,构建细粒度的后台访问控制体系。

分类:权限管理 · 官方示例示例评分:4.9 ★ · 预计 2k+ 安装

适用版本:Hertz System v1.x

插件简介

本插件基于后端模块 hertz_studio_django_auth,用于在 Hertz System 中实现角色与权限管理,包括用户-角色-菜单/接口的绑定关系,帮助你构建标准的 RBAC(基于角色的访问控制)体系。

  • 支持配置角色、菜单权限、按钮权限、接口权限等多级权限点;
  • 支持为用户分配多个角色,实现灵活的权限组合;
  • 可与日志管理、系统监控等插件联动,对敏感操作进行更精细的管控;
  • 适用于多租户、项目型组织等复杂权限场景。

安装步骤

1. 后端安装(Django)

在部署 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

2. 前端集成

在管理端菜单中增加「角色管理」「菜单管理」等入口,一般可以放在「系统管理」或「权限中心」分组下,指向本插件提供的角色/权限配置页面。

前端在渲染菜单树、按钮权限、路由守卫时,可以基于当前登录用户的角色信息,从后端获取已授权的菜单与接口列表,从而控制页面和操作按钮的显示/隐藏。

3. 配置环境变量(示例)

根据实际情况,你可以在 .env 或配置中心中补充权限相关配置,例如:

AUTH_SUPERUSER_ROLE=super_admin
AUTH_DEFAULT_ROLE=user
AUTH_PERMISSION_CACHE_TTL=300

上述配置仅为示例,用于指定默认角色、超级管理员角色标识以及权限缓存时间,具体以后端实际实现为准。

使用教程

1. 规划角色与权限模型

建议先梳理系统中的典型角色(如系统管理员、运维人员、业务管理员、普通用户等),并为每类角色规划需要访问的菜单和可执行的操作范围。

2. 配置角色与菜单

在「角色管理」页面中创建角色,并在「菜单/权限分配」页面中为各角色勾选可访问的菜单、按钮和接口,保存后即可生效。

3. 为用户分配角色

在用户管理页面中,将用户关联到一个或多个角色。用户登录后,系统会根据其角色自动加载对应权限,控制左侧菜单展示和页面内按钮显隐。

4. 与日志和审计联动(可选)

可以结合「日志管理插件」,对涉及权限变更的操作(如赋予管理员角色、调整关键菜单权限等)进行重点记录和审计,提升系统安全性与可追溯性。

效果预览

以下为角色管理插件在系统中的部分界面示意,包括角色列表、角色权限分配和用户角色关联等页面。

角色管理 - 角色列表与权限分配示例 角色管理 - 菜单列表与权限分配示例

将上述示例替换为你实际系统中的角色管理截图,点击图片可进入放大预览模式。

演示视频