角色为空为啥返回true那? hheellpp~

来源:4-4 Shiro过滤器

慕勒5006560

2019-02-12 22:11

角色为空为啥返回true那https://img2.mukewang.com/5c62d40000010b8309130495.jpg

写回答 关注

1回答

  • 1473441338
    2019-02-26 18:20:50

    if 前面的语句是为了获取当前主体执行时所需的角色  把他放在字符集 roles中

    if判断的意思是 如果roles为空或长度为零 意味着你在controller中所写的方法没有进行@RequireRoles(“admin”)这样的操作 ,也就是说你写的这个方法无需角色权限就可以访问 当然要返回true 直接访问

    相反若果你写的方法进行了角色的注解 那么就要比对当前登录用户是否有该角色(也就是foreach当中的判断)

    if(subject.hasRole(roles))//若果发现当前用户有该权限 则返回true 进行访问

    反之亦然

Shiro安全框架入门

从零入门Shiro安全框架

48040 学习 · 332 问题

查看课程

相似问题