Shiro3-授权

    科技2022-07-12  128

    授权

    1.1 角色

    类似于计算机上的组,不同的组权限个数都不同

    不同的用户属于不同的组,对应不同的权限个数

    在shiro框架里就是这个roles

    角色表role

    中间表 权限表

    一个用户具有一个角色

    加一个角色id的主键即可,一对一

    一个用户具有多个角色

    要再加一张用户角色表,一对多

    1.2 格式

    数据库里权限就这么写:user:update

    不同的用户有着多个不同的角色,不同角色对应着不同的权限

    这个人(a)是否是这个角色 check方法,没有指定角色会抛异常,无返回值(不建议使用) 判断权限

    也有两种方法,不过check没啥用,一般用的都是检查有没有

    具体到对某个用户的权限(一般用不到,太细致了)

    正常是省略:*的,意思为对所有用户的权限

    如果具体到某个用户,一号角色只对1号用户有查询权限

    则a用户只对1号用户有查询权限,对2号就没有,返回false

    1.3 数据库查询-自定义Realm实现返回授权信息

    如果是查询数据库中用户的权限

    怎么知道这个人是谁,从认证信息中的principles来获取

    从数据库查出来填进集合中,这里跟前面一样没连数据库,写个伪代码模拟一下

    Processed: 0.009, SQL: 8