Shiro学习(3)shiroConfig配置类
一、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配置类相关推荐
- Shiro 使用 JWT Token 配置类参考
项目中使用了 Shiro 进行验证和授权,下面是 Shiro 配置类给予参考. 后来并没有使用 Shiro,感觉使用 JWT 还是自己写拦截器比较灵活,使用 Shiro 后各种地方需要魔改,虽然功能也 ...
- 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 ...
- Shiro+SpringBoot 时,anon配置的匿名路径被拦截,自定义配置类走过的坑
最开始一直不去自定配置类,究其原因发现是少了: /*** Shiro配置类*/ @Configuration 少了@Configuration,这个注解配置. 一路顺畅的走了下来: 是不是要美滋滋的走 ...
- Spring框架学习笔记04:初探Spring——采用Java配置类管理Bean
文章目录 一.课程引入 二.采用Java配置类管理Bean (一)打开项目[SpringDemo2021] (二)创建net.hw.spring.lesson04包 (三)创建杀龙任务类 (四)创建勇 ...
- SpringMVC配置类WebMvcConfigurerAdapter学习总结
WebMvcConfigurerAdapter配置类是spring提供的一种配置方式,采用javabean的方式替代传统的基于xml的配置来对spring框架进行自定义的配置.因此,在springbo ...
- Spring框架学习笔记03:初探Spring——利用注解配置类取代Spring配置文件
文章目录 一.课程引入 二.利用注解配置类取代Spring配置文件 (一)打开项目[SpringDemo2021] (二)创建net.hw.spring.lesson03包 (三)移植上一讲的接口和类 ...
- Shiro学习记录(详细)
文章目录 Shiro学习记录 shiro核心组件 Spring Boot 整合 Shiro Shiro 整合 Thymeleaf Shiro学习记录 什么是 Shiro 官网:http://shiro ...
- [尚硅谷22版shiro]学习笔记
Shiro 概述 shiro是什么 Apache Shiro 是一个功能强大且易于使用的 Java 安全(权限)框架.Shiro 可以完成:认证.授权.加密.会话管理.与 Web 集成.缓存 等.借助 ...
- shiro 学习(一)
title: shiro学习(一) date: 2020-11-13 tags: spring springboot shiro categories: spring springboot shiro ...
最新文章
- Mahout分布式推荐引擎介绍
- Safari 不能播放Video ,Chrome等可以 问题解决。
- python matplotlib animation制作世界人口变动动画
- 关于SVN Server自助修改密码详细教程
- 信息系统项目管理师-项目成本管理考点笔记
- 融合的胜利——惠普连发SDS、闪存、超融合方案
- oracle基础授权,Oracle基础学习3--Oracle创建用户并授权
- FMStocks7 , 不错的一个.NET 示例程序
- idea集成python_IDEA集成Python插件,SDK配置
- 怎么删除python工程_python根据字典的键来删除元素的方法
- linux用date指令,Linux中date指令的使用
- [搬家帖]Linux文件操作
- 力扣-135 分发糖果
- 习题4-6 水仙花数(20 分)
- 基于matlab的暴雨强度公式参数推求,基于Lingo和单纯形算法的综合暴雨强度公式参数解析...
- 微软笔试题《Arithmetic Puzzles》- 题解
- 想发SCI但自己没有原始数据?推荐 8 个好用的公共数据库
- Oracle number类型详解
- 怎么把excel转换成word
- Cannot halt the core解决方法
热门文章
- win10解决 netstart -ano|findstr “8080“出现netstart不适内部或外部命令
- 第5次作业+061+陈小兰
- opencvsharp图像处理_腐蚀与膨胀,击中击不中变换(3)
- Hybrid混合开发学习笔记(1)混合应用开发定义和常见问题
- 蛙蛙推荐:蛙蛙牌网页捕捉器
- 【笔试题1】按输入的两个数进行幂级数求和,如s=2的0次方+2的一次方+2的n次方,编码实现
- NXP i.MX 8处理器再扩军!全新i.MX 8X处理器剑指工业与汽车应用
- POJ 1753 Flip Game(递归枚举)
- 关于参加“兆易创新杯”第十三届中国研究生电子设计竞赛,国赛二等奖的总结(fishing_5)
- Java批量高效压缩支持加解密支持所有压缩格式(Zip/7z/rar)