shiro权限控制配置

时间:2021-04-30 19:37:24

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>