OrangeFrame
系统结构parent依赖版本管理
auth进行认证
用户名密码匹配
账户失效判断
将用户角色存入redis
common
公用工具类
共用实体类
除此之外还有自动配置等
gateway网关,进行鉴权
rbac进行rbac信息的增删改查
数据结构设计RBACuser
数据库中字段
id
username
password
enabled
account_non_expired
account_non_locked
credentials_non_expired
实体类中字段
roleList 角色列表
role// 从redis中查看当前角色中有无当前api,若无,则查看有无parent,递归查找,都没有则返回false
关于角色递归
使用递归形式的角色保存可以减少后期查询次数,但如果派生角色和基础角色都为递归形式,则会出现无限递归的情况。
例如,b为a的派生角色,则a的派生列表中是有b的,但b的基础角色中又会存在a,如此便会形成递归,造成溢出. 故这两个列表中只能有一个是递归的形式。
经过考虑,将基础角色做递归处理,派生角色不做,因为基础角色也属于是 ...