shiro权限控制配置

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>
上一篇:android – Realm.getInstance(context)在迁移后不再工作


下一篇:从Sqlite迁移到Realm(Android)