## 项目简介
1. 服务端基于.net5平台,开发框架是基于**surging.cloud**(**surging.cloud**是在surging基础上进行二次开发的微服务框架)
2. 采用mysql作为存储数据库、使用redis作为缓存数据库
3. 服务之间使用**dotnetty**实现的rpc框架进行通信,服务调用支持缓存缓存拦截,极大的提高了系统性能
4. 采用**zookeeper**作为服务注册中心;也支持consul作为服务注册中心(consul未经测试)
5. hero权限管理系统支持菜单、操作、数据权限
6. 前端使用vue2,基于**element-admin**框架进行开发
7. 项目地址:
- 服务端: https://github.com/liuhll/hero
- 前端: https://github.com/liuhll/hero-web
## surging.cloud
1. 增加异常处理模块,分为业务异常和非业务异常,rpc通信过程中,如果捕获到的是业务异常,被捕获之后服务消费者不会重试,且异常可以在服务之间进行传递,最终通过网关及时返回给调用者
2. 通过 `IdleStateHandler` 提供的心跳功能重构服务健康检查,提高rpc通信的可靠性
3. 通过 `Rabbit.Zookeeper` 重构基于zookeeper的服务注册中心,提高服务注册中心的可靠性
4. 修复通过`RpcContenxt`获取rpc通信上下文参数存在的bug,新增`ISurgingSession`获取rpc通信上下文参数【通过该接口可以获取当前登录用户的上下文信息】
5. 扩展了诸如Dapper、mongodb、AutoMapper、es、分布式锁等组件
6. 对rpc通信模型进行调整,生成的webapi支持restful架构风格
7. 使用JWT组件重构token签发方式、对登录认证、接口鉴权进行重构
8. 其他
## Demo部署
- 地址: http://www.liuhl-hero.top
- 账号:
1. 管理员: admin 密码: 123qwe
2. 普通用户: zhangsan 密码: 123qwe
3. 使用admin登录后查看其它账号,密码均为:123qwe
## 服务介绍
当前共存在四个微服务:
1. 认证与授权服务(Auth): 负责用户、角色、用户组、权限管理,完成等用户的登录认证、接口鉴权等功能
2. 组织机构服务(Organization): 负责组织机构管理
3. 基础数据服务(BasicData): 提供基础数据和系统配置等
4. 网关(Gateway): 通过Kestrel主机对集群外部暴露Http访问端口,接收到客户端的请求后,将请求转到集群内部,与集群内部通过rpc进行通信
## todo
- [ ] hero支持租户、完成系统基础设置功能
- [ ] 完善开发者文档
- [ ] 完成hero的系统管理,支持查看微服务集群的服务状态、系统监控、服务链路跟踪、缓存数据等
- [ ] 封装文件上传服务、定时作业任务管理服务、日志管理服务等
- [ ] 封装基于ef的数据访问组件
- [ ] 封装分布式事务组件
基于rbac权限管理系统 http:--www.liuhl-hero.top--hero.zip
需积分: 0 174 浏览量
更新于2023-11-06
收藏 616KB ZIP 举报
**基于RBAC权限管理系统的构建与理解**
在现代企业信息化管理中,权限控制是至关重要的一个环节,确保了数据安全和个人隐私。基于RBAC(Role-Based Access Control,基于角色的访问控制)的权限管理系统就是这样一种解决方案,它通过将用户、角色和权限三者关联起来,实现了灵活且高效的权限分配。本系统名为“英雄”,可访问http://www.liuhl-hero.top/hero了解更多详情。
在RBAC模型中,主要有三个核心概念:
1. **用户(User)**:系统中的实际操作者,如员工、管理员等。用户通过扮演不同的角色来获取相应的权限。
2. **角色(Role)**:角色是一组权限的集合,代表了一类用户的职责或权限需求。例如,“管理员”角色可能包含查看所有数据、修改数据等权限。
3. **权限(Permission)**:“英雄”系统中的权限定义了用户可以执行的操作,如读取、写入、删除等。权限通常与系统资源(如文件、模块、功能)相关联。
**RBAC系统的优点:**
- **灵活性**:角色的设定使得权限分配更为灵活,新增或修改用户权限时只需调整角色即可。
- **安全性**:通过角色进行权限控制,减少了直接对用户授权的风险,降低了权限泄露的可能性。
- **可管理性**:减少直接对用户的管理,只需要管理角色及其对应的权限,提高了系统管理效率。
- **审计性**:通过记录角色活动,便于跟踪和审计用户的操作行为。
在“英雄”系统中,我们可以看到以下关键组成部分:
- **用户管理**:创建、修改和删除用户,为用户分配角色。
- **角色管理**:定义角色,设置角色包含的权限,以及角色之间的继承关系。
- **权限管理**:定义和分配权限,关联到具体的系统资源。
- **会话管理**:用户登录、登出,以及会话超时处理。
- **审计日志**:记录用户操作,用于安全审查和问题排查。
开发“英雄”系统的过程中,可能涉及的技术栈包括前端框架(如React、Vue)、后端框架(如Spring Boot、Django)、数据库(如MySQL、PostgreSQL)以及身份验证库(如JWT)。开发者需要对这些技术有深入理解,并掌握如何将RBAC模型融入到系统设计中。
在“hero-develop”这个压缩包中,可能包含了“英雄”系统的源代码,包括前端和后端的代码结构、配置文件、数据库脚本等。开发者可以通过阅读和分析这些代码,了解系统是如何实现RBAC模型的,以及如何将这个模型应用于实际项目中。
总结来说,基于RBAC的权限管理系统“英雄”为企业提供了一套强大的权限管理方案,通过角色的设定和权限的分配,有效保障了系统的安全性和可管理性。对于开发者而言,深入理解和应用RBAC模型是提升系统安全性的重要途径,同时也能提升开发效率和用户体验。
武昌库里写JAVA
- 粉丝: 7046
- 资源: 3205
最新资源
- 基于语音控制的智能家居系统,实现使用android端来远程控制LED灯和收集温湿度传感器信息,图表展示温湿度走势全部资料+详细文档+优秀项目.zip
- 基于语音开放平台,包含技能开发、语音设备接入及智能家居接入的文档、SDK 及示例代码全部资料+详细文档+优秀项目.zip
- 基于智能家居板载程序全部资料+详细文档+优秀项目.zip
- 基于智能家居Android App全部资料+详细文档+优秀项目.zip
- 基于智能家居 、控制、物联网、摄像头、开关全部资料+详细文档+优秀项目.zip
- 基于智能家居管理系统全部资料+详细文档+优秀项目.zip
- 基于智能家居规则集构建全部资料+详细文档+优秀项目.zip
- 基于智能家居服务器全部资料+详细文档+优秀项目.zip
- 基于智能家居系统的移动终端,采用Qt编写,主要实现电能的监控和管理全部资料+详细文档+优秀项目.zip
- 基于智能家居物联网项目-enOcean全部资料+详细文档+优秀项目.zip
- 基于智能家居-万能遥控器全部资料+详细文档+优秀项目.zip
- 基于智能家居行为识别全部资料+详细文档+优秀项目.zip
- 基于智能家居远程监控系统全部资料+详细文档+优秀项目.zip
- 基于智能家居遥控器 Android端全部资料+详细文档+优秀项目.zip
- 基于智能家居在线全部资料+详细文档+优秀项目.zip
- 基于智能家居终端(可通过zigbee控制家中电器)全部资料+详细文档+优秀项目.zip