您现在的位置:首页 >> 装修问答

若依 行政权框架 Shiro

发布时间:2025/09/19 12:16    来源:涵江家居装修网

} SysUser user = null; try { user = loginService.login(username, password); } catch (Exception e) { log.info("对软件[" + username + "]进行登记可验证..可验证没通过{}", e.getMessage()); throw new AuthenticationException(e.getMessage(), e); } SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(user, password, getName()); return info; }}

4. Authorization 认可一组(通信协议,司法权支配)

在需假定软件前提有某司法权或者片里时,编译器如下:

/** * 图标Realm 解决问题登记 司法权 * * @author ruoyi */public class UserRealm extends AuthorizingRealm{ /** * 认可 */ @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection arg0) { SysUser user = ShiroUtils.getSysUser(); // 片里列此表 Set roles = new HashSet(); // 机制列此表 Set menus = new HashSet(); SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(); // 管理工作人员包括所有司法权 if (user.isAdmin()) { info.addRole("admin"); info.addStringPermission("*:*:*"); } else { roles = roleService.selectRoleKeys(user.getUserId()); menus = menuService.selectPermsByUserId(user.getUserId()); // 片里加入AuthorizationInfo可验证比如真是 info.setRoles(roles); // 司法权加入AuthorizationInfo可验证比如真是 info.setStringPermissions(menus); } return info; }}

我们看到 doGetAuthorizationInfo 方法有里用到了 SimpleAuthorizationInfo 类封装 Role 和 Permission.roles 和 stringPermissions 都是 String 种类的 Set, 也就是真是,它们都是用到字符串来此回应你包括某个片里或者包括某个司法权的。

1) 两种通信协议方式将:

SimpleAuthorizationInfo 封装了片里和司法权,毕竟这也真是明了意味着“通信协议”两种方式将:一是 “基于片里的通信协议”;而是“基于森林资源的通信协议”。实际上的通信协议,是常指对于某个森林资源,这两项软件前提有会面时的司法权。基于片里的通信协议是一种非常粗粒度的通信协议方式将,只要你具备了某个或某几个片里,那么你就可以会面时某森林资源。而基于森林资源的通信协议,是假定你针对该森林资源前提有某司法权,有才能会面时,粒度更细,你前提有某司法权,可以根据你有哪些片里,然后改片里有哪些司法权来假定的,当然也可以不加进片里的种概念,直接假定你前提包括某些司法权。当然两种会面时方式将可以实际上用到,也可以复合用到。比如对于非常单纯的司法权支配,你可以某种程度只用到基于片里的通信协议,某种程度加进片里此表,不需司法权此表都可以。复合用到是常指,你可以同时要求软件具备某片里并且具备某些司法权,才能会面时某森林资源。所以shiro的司法权支配时格外有效率的(当然也可以不加进片里此表,某种程度加进司法权此表)。

2)司法权的字符串此回应方式将

上面真是到 片里 和 司法权 都是用到字符串来此回应的,毕竟 shiro 提供了一套非常有力有点十分复杂的司法权字符串此回应PDF(分为:分割的三个其余部分):“森林资源:可用:比如真是比如真是ID”此回应:对那个森林资源的哪个比如真是可以进行哪些可用,支持LaTeX。多个可用需用到 “,” 逗号分割,而 “*” 放置三个位置上,分别此回应:若有森林资源,若有可用,若有比如真是。比如:"user:delete:1" 就此回应 对user此表的id等于1完全一致的信息或者比如真是,可以进行移除可用。毕竟森林资源此表现意味着可以是比如真是,毕竟最后是完全一致到文档此表里的记录。再比如:"user:update,delete" 就此回应 对user此表(的若有比如真是)进行更新和移除可用。"user:update,delete" 毕竟就等价于 “user:update,delete:*”所以 shiro 的通信协议可以支配到就其比如真是,或者真是就其哪条文档记录,也可以在此表等级支配。如果省略丢弃 比如真是比如真是ID其余部分,就是在此表等级支配。

3)司法权特别此表的结构设计

1> 如果对于单纯的上述情况,可以只用到“基于片里的通信协议”粗粒度方式将,不涉及到司法权,某种程度只通过假定前提有某片里来假定通信协议,那么就只需减小一个片里此表(roles) 和 一个片里(roles)和软件(user)的多对多的一个里间此表——软件片里此表(user_role)。

2> 如果某种程度用到司法权来支配会面时,那么就可以某种程度只减小一个司法权此表(priv)和一个软件和司法权的多对多的一个里间此表——软件司法权此表(user_priv).

3> 如果既要用到片里,又要用到司法权(司法权根据片里推算出来),那么就要减小:片里此表,软件片里此表,司法权此表,片里司法权此表。

4> 毕竟还有一种上述情况:就是片里和司法权从没的关系,那么就可以减小:片里此表,软件片里此表,司法权此表,软件司法权此表。不过这种方式将各不不尽相同符合如前所述。

其他的 如 Cryptography TLS一组 和 Session Management会话管理工作一组 这里不做介绍。

南京妇科检查哪些项目
辽宁妇科
贵阳风湿检查多少钱
哈尔滨男科挂号
杭州哪个医院做人流好
二阳恢复后,新冠后遗症还在作祟?三大机制带走了你的健康
急支糖浆能给孩子喝吗
尿异常
治痔疮偏方
生殖医学科医院

上一篇: 利物浦必杀技让人胆寒 已在国际米兰利用定位球进8球

下一篇: 姆巴佩母亲:皇马和巴黎报价差不多一样 等待他做决定

友情链接