SpringBoot整合Shiro应用

发布于:2022-12-27 ⋅ 阅读:(472) ⋅ 点赞:(0)

SpringBoot整合Shiro



Shiro的特点

  1. 相对于SpringSecurity的API更易理解
  2. 身份认证简单,对角色权限控制简单
  3. 支持一级缓存
  4. 简单的密码加密API
  5. 可以独立运行,SpringSecurity需要Spring环境

shiro中的三大组件

  1. subject:表示待认证、授权的用户,subject中包装着用户信息
  2. securityManager:管理所有用户
  3. realm:数据源,(包括但不限于数据库、shrio.ini文件中数据、redis)

shiro的基本配置

  1. 使用@Configuration注解创建配置类在这里插入图片描述
  2. 自定义realm在这里插入图片描述

实现登录拦截

shiro内置过滤器种类:
     * anon:无须认证即可访问
     * authc:认证后访问
     * user:必须拥有 记住我 权限才可以使用
     * perms:有用对某个资源的权限才可以访问
     * role:拥有某个角色的权限才可以访问

这里创建了Map集合实现过滤器在这里插入图片描述
//设置无权限跳转的登录页面
filterFactoryBean.setLoginUrl(“/login”);

在登录的login方法中进行验证,无异常说明成功
在这里插入图片描述
可以在自定义realm中对用户名进行判断
在这里插入图片描述

实现授权操作

在配置类,配置拦截的路径,和未授权访问跳转页面
在这里插入图片描述

在登录认证的方法返回值中,return登录的user对象
在这里插入图片描述
从授权方法中获取user,并读取user中的权限字段,从而进行用户的权限赋值
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到