一、Shiro配置类创建流程

创建shiro配置函数ShiroConfig可以分为四大块:
1、创建realm
2、创建安全管理器
3、配置shiro过滤器工厂
4、开启对shiro注解的支持

1、创建Realm

可以直接创建CustonRealm这个对象,也可以通过Realm创建。

 @Beanpublic Realm getRealm(){CustonRealm custonRealm = new CustonRealm();return custonRealm;}
2、创建安全管理器

注意SecurityManager导包,是shiro的SecurityManager。
配置原理:对SecurityManager来说他管理了所有的Realm,通过这些代码获取了Realm管理信息

 @Beanpublic SecurityManager getSecurityManager(Realm realm){DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();securityManager.setRealm(realm);return securityManager;}
3、配置shiro过滤器工厂

在web程序中,shiro进行权限控制是通过一组过滤器集合进行的操作。
过滤器配置需要有以下几步:
1、创建过滤器工厂
2、设置安全管理器
3、通用配置(跳转登录页面,为授权跳转的页面)
4、设置过滤器集合

 @Beanpublic ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager){//1、创建过滤器工厂ShiroFilterFactoryBean filterFactory = new ShiroFilterFactoryBean();//2、设置安全管理器filterFactory.setSecurityManager(securityManager);//3、通用配置(跳转登录页面,为授权跳转的页面)filterFactory.setLoginUrl("/autherror?code=1");//授权成功,跳转的url地址filterFactory.setUnauthorizedUrl("/autherror?code=2");//未授权的跳转页面//4、设置过滤器集合/*** 设置所有过滤器,使用有顺序的map*  key->拦截url地址*  value-> 过滤器类型*/Map<String,String> filterMap = new LinkedHashMap<>();filterMap.put("/user/home","anon");//无需认证即可访问filterMap.put("/user/**","authc");//当前请求地址必须认证后访问filterFactory.setFilterChainDefinitionMap(filterMap);return filterFactory;}
4、开启对shiro注解的支持

固定配置

 @Beanpublic AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) {AuthorizationAttributeSourceAdvisor advisor = new AuthorizationAttributeSourceAdvisor();advisor.setSecurityManager(securityManager);return advisor;}

Shiro学习(3)shiroConfig配置类相关推荐

  1. Shiro 使用 JWT Token 配置类参考

    项目中使用了 Shiro 进行验证和授权,下面是 Shiro 配置类给予参考. 后来并没有使用 Shiro,感觉使用 JWT 还是自己写拦截器比较灵活,使用 Shiro 后各种地方需要魔改,虽然功能也 ...

  2. Shiro学习中出现的错误:Could not autowire. There is more than one bean of ‘Realm‘ type.

    异常信息 大概翻译一下这个不能自动注入,超过一个这个类型的Bean 1. Could not autowire. There is more than one bean of 'Realm' type ...

  3. Shiro+SpringBoot 时,anon配置的匿名路径被拦截,自定义配置类走过的坑

    最开始一直不去自定配置类,究其原因发现是少了: /*** Shiro配置类*/ @Configuration 少了@Configuration,这个注解配置. 一路顺畅的走了下来: 是不是要美滋滋的走 ...

  4. Spring框架学习笔记04:初探Spring——采用Java配置类管理Bean

    文章目录 一.课程引入 二.采用Java配置类管理Bean (一)打开项目[SpringDemo2021] (二)创建net.hw.spring.lesson04包 (三)创建杀龙任务类 (四)创建勇 ...

  5. SpringMVC配置类WebMvcConfigurerAdapter学习总结

    WebMvcConfigurerAdapter配置类是spring提供的一种配置方式,采用javabean的方式替代传统的基于xml的配置来对spring框架进行自定义的配置.因此,在springbo ...

  6. Spring框架学习笔记03:初探Spring——利用注解配置类取代Spring配置文件

    文章目录 一.课程引入 二.利用注解配置类取代Spring配置文件 (一)打开项目[SpringDemo2021] (二)创建net.hw.spring.lesson03包 (三)移植上一讲的接口和类 ...

  7. Shiro学习记录(详细)

    文章目录 Shiro学习记录 shiro核心组件 Spring Boot 整合 Shiro Shiro 整合 Thymeleaf Shiro学习记录 什么是 Shiro 官网:http://shiro ...

  8. [尚硅谷22版shiro]学习笔记

    Shiro 概述 shiro是什么 Apache Shiro 是一个功能强大且易于使用的 Java 安全(权限)框架.Shiro 可以完成:认证.授权.加密.会话管理.与 Web 集成.缓存 等.借助 ...

  9. shiro 学习(一)

    title: shiro学习(一) date: 2020-11-13 tags: spring springboot shiro categories: spring springboot shiro ...

最新文章

  1. Mahout分布式推荐引擎介绍
  2. Safari 不能播放Video ,Chrome等可以 问题解决。
  3. python matplotlib animation制作世界人口变动动画
  4. 关于SVN Server自助修改密码详细教程
  5. 信息系统项目管理师-项目成本管理考点笔记
  6. 融合的胜利——惠普连发SDS、闪存、超融合方案
  7. oracle基础授权,Oracle基础学习3--Oracle创建用户并授权
  8. FMStocks7 , 不错的一个.NET 示例程序
  9. idea集成python_IDEA集成Python插件,SDK配置
  10. 怎么删除python工程_python根据字典的键来删除元素的方法
  11. linux用date指令,Linux中date指令的使用
  12. [搬家帖]Linux文件操作
  13. 力扣-135 分发糖果
  14. 习题4-6 水仙花数(20 分)
  15. 基于matlab的暴雨强度公式参数推求,基于Lingo和单纯形算法的综合暴雨强度公式参数解析...
  16. 微软笔试题《Arithmetic Puzzles》- 题解
  17. 想发SCI但自己没有原始数据?推荐 8 个好用的公共数据库
  18. Oracle number类型详解
  19. 怎么把excel转换成word
  20. Cannot halt the core解决方法

热门文章

  1. win10解决 netstart -ano|findstr “8080“出现netstart不适内部或外部命令
  2. 第5次作业+061+陈小兰
  3. opencvsharp图像处理_腐蚀与膨胀,击中击不中变换(3)
  4. Hybrid混合开发学习笔记(1)混合应用开发定义和常见问题
  5. 蛙蛙推荐:蛙蛙牌网页捕捉器
  6. 【笔试题1】按输入的两个数进行幂级数求和,如s=2的0次方+2的一次方+2的n次方,编码实现
  7. NXP i.MX 8处理器再扩军!全新i.MX 8X处理器剑指工业与汽车应用
  8. POJ 1753 Flip Game(递归枚举)
  9. 关于参加“兆易创新杯”第十三届中国研究生电子设计竞赛,国赛二等奖的总结(fishing_5)
  10. Java批量高效压缩支持加解密支持所有压缩格式(Zip/7z/rar)