shiro权限控制配置

眉间皱痕 提交于 2019-11-28 12:27:21

shiro配置流程

  1. web.xml中配置shiro的filter
  2. spring中配置shiro的过滤器工厂,指定对不同地址权限控制
    , 传入安全管理器
  3. 配置安全管理器,传入realm,realm中定义具体授权和认证的流程
  4. 配置自定义凭证匹配器,指定token和info的匹配方式。

权限访问的配置

  1. 定义所有的权限的String集合
    在自定义realm中重写doGetAuthoriaztionInfo(),创建所有权限的String集合,
    创建SimpleAuthorizationInfo的对象,调用addStringPermission,添加权限的集合,返回该对象

  2. 控制访问指定资源时所需要的权限

    a. 用代码校验。
    //拿到当前的subject
    Subject subject = SecurityUtils.getSubject();
    //检查是否具有指定权限
    subject.checkPermission("部门管理");

    b. 在过滤器工厂中配置拦截地址
    /system/user/list.do = perms["部门管理"]
    /system/user/list.do = authc,roles[用户管理]

    c. 注解实现
    @RequiresPermissions("用户管理")

  3. 使用shiro标签对视图渲染进行控制
    <shiro:hasPermission name="用户管理">
        用户管理数据
    </shiro:hasPermission>
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!