根据项目体量和需求。
1.如果大点的项目,角色比较多的话,一般是有配套的权限系统,给角色授权,再把账号设置成角色,而不是直接给账号授权,除了页面权限,还会精确到每一个按钮,增删改查、审批、导出导入等;
2.如果小一点的项目,只是针对页面,或者个别按钮,也可以类似你这个做法,存到内存,然后根据权限跳转到相应页面或者显示有权限的按钮,只是这里要注意处理session,比如切换帐号的时候,会不会搞错。
把账号的分配角色过程是怎样的呢,换句话说系统如何知晓该给账号分配何种角色?这种方式角色和账号间的映射关系应该是动态的吧(如果一个账号对应的角色是固定的,也没必要将账号和角色分开了吧)
RBAC模型(Role-Based Access Control:基于角色的访问控制)
自己可以实现
正解
可以看看若依框架,它的权限系统是比较常见的,用户-角色-权限,其中权限可以是菜单,按钮,接口权限等
通过给角色配置权限,给用户配置角色的方式实现,同时对超管的用户或角色做特别的处理,代码里写死超管拥有所有权限
按钮针对前端,接口权限后端通过拦截器实现校验,这些若依框架里都有实现,可以自己看看
我的过往做法和保安查牌一样,请求过来后确认permission,携带permission到接口,没有权限就驳回请求或跳转请求