介绍
蝉鸣CRM 是一个全新的软件开发框架。
1:项目使用安全框架
- Spring Authorization Server: 官网链接
2:项目使用介绍
权限体系简图模型

设计原由
在之前项目中,经常遇到后期改造中,用户表数据存在多条数据实际是同一个社会属性人员,但是user_id不一样,后续逻辑又以user_id为基础判断,同时同一人员在同一系统中需要多种登录方式,后续扩展又需要存在多租户情况。用户登录以用户表为依据,需要登录前选择租户进行判断,扩展登录方式需要修改表结构,修改原有登录代码甚至重构。
- 设计思路
1:以用户数据为核心,以社会唯一属性维度存放用户数据。社会唯一属性例如身份证,手机号码等。
2:系统以手机号码为依据,因为方便进行快捷交互,例如短信验证,第三方认证等。
3:同一用户可以存在多个账户。其中以密码、短信登录的账户类型只能各自存在一个,第三方类型例如飞书,钉钉,企业微信等,即使类型相同但因第三方AppId不同可以存在多个。
4:同一账户可以在多个租户下存在。实现登录只需要与账户存在关系,登录完成之后可关联查询当前关联多租户实现站内切换,也可以关联查询当前关联唯一用户,以及后续所有与人员有关逻辑与用户关联,实现数据用户维度唯一。
5:按照RBAC模型,同一用户可配置多角色,同一角色可配置多菜单权限,是用户可以自定义页面可见功能
3:项目扩展功能
扩展密码登录
mesh-uaa-biz > biz > auth > support > grant > password

扩展短信登录
mesh-uaa-biz > biz > auth > support > grant > sms

扩展第三方登录
第三方登录集成使用 JustAuth框架。
