shiro之入口:EnvironmentLoaderListener
2019独角兽企业重金招聘Python工程师标准>>>
1、ServletContextListener是Web容器提供的用来监听Web应用的生命周期事件(比如出生,死亡)的。EnvironmentLoaderListener就是这样一种监听器。
2、EnvironmentLoaderListener是shiro的入口,它实现了ServletContextListener接口,继承了EnvironmentLoader类。如图:
3、EnvironmentLoaderListener自己表面上做了两件事情:监听容器的启动与关闭事件;
(1)容器启动时,可以从 ServletContextEvent 中直接获取 ServletContext 对象,从而获取web.xml里的一些配置,比如我最想知道的.ini文件加载的地址。从中获取 WebEnvironment 接口的实现类(默认是 IniWebEnvironment),初始化该实例,并将其加载到 ServletContext 中
(2)当容器关闭时,销毁 WebEnvironment 实例,并从 ServletContext 将其移除。
4、实际上,上面两件事都是EnvironmentLoader做的
5、EnvironmentLoaderListener的两个方法是实现了ServletContextListener接口的contextInitialized和contextDestroyed。
总结:EnvironmentLoaderListener在容器启动时创建 WebEnvironment 对象,并由该对象来读取 Shiro 配置文件,创建WebSecurityManager 与 FilterChainResolver 对象,它们都在后面将要出现的 ShiroFilter 中起到了重要作用。从 web.xml 中同样可以得知,ShiroFilter 是整个 Shiro 框架的门面,因为它拦截了所有的请求,后面是需要 Authentication(认证)还是需要 Authorization(授权)都由它说了算。
转载于:https://my.oschina.net/u/2427561/blog/1512282
shiro之入口:EnvironmentLoaderListener相关推荐
- Shiro Shiro Web Support and EnvironmentLoaderListener
Shiro Shiro Web Support 主要参考: http://shiro.apache.org/web.html 还有涛哥的 作为资源控制访问的事情,主要使用在网络后台方面,所以了解了本地 ...
- 与Web集成——《跟我学Shiro》
Shiro提供了与Web集成的支持,其通过一个ShiroFilter入口来拦截需要安全控制的URL,然后进行相应的控制,ShiroFilter类似于如Strut2/SpringMVC这种web框架的前 ...
- Shiro基础应用——角色和权限校验
一.Shiro 为什么要用shiro: 1.项目中的密码是否可以明文存储? 2.是否任意访客,无论是否登录都可以访问任何功能? 3.项目中的各种功能操作,是否是所有用户都可以随意使用? 综上,当项目中 ...
- jfinal整合shiro回顾
2019独角兽企业重金招聘Python工程师标准>>> 目前jfinal使用shiro进行身份验证和授权的后台实现已完成,现在我再来总结下学习过程及代码实现过程.最近半年多项目开发都 ...
- springMVC整合shiro权限框架示例与实践
2019独角兽企业重金招聘Python工程师标准>>> 为什么写这篇文章 看过那么多框架.教程,大部分shiro的文章或教程是我见过思路最糟糕的.作者完不清楚想要表达什么起到什么作用 ...
- Shiro 权限框架使用总结
我们首先了解下什么是shiro ,Shiro 是 JAVA 世界中新近出现的权限框架,较之 JAAS 和 Spring Security,Shiro 在保持强大功能的同时,还在简单性和灵活性方面拥有巨 ...
- JFinal整合Shiro(二)
原文:http://zhangxiao.org/2016/jfinal-shiro-integration2/ 续上一篇<JFianl整合Shiro(一)> 我准备在这里,具体的描述下JF ...
- [shiro] - 怎样使用shiro?
shiro是什么? Shiro是apache旗下的一个开源框架, 它将软件系统的安全认证相关的功能抽取出来, 实现用户身份认证, 权限授权, 加密, 会话管理等功能, 组成一个通用的安全认证框架. 为 ...
- Shiro 那点事儿
2019独角兽企业重金招聘Python工程师标准>>> 前几天我遇见了一位美女,真有种相逢恨晚的感觉.她皮肤白皙.气质优雅.楚楚动人,拥有苗条的身材,却又不失丰满之躯,正所谓&quo ...
- 从实例入手学习Shiro与Web的整合
场景 Shiro官网关于Web整合文档: http://shiro.apache.org/web.html#Web-configuration W3Cschool Shiro Web集成: https ...
最新文章
- Ubantu安装maven
- java中的几种对话框_Java中弹出对话框中的几种方式
- 随着计算机多媒体技术的产生和发展,多媒体技术及其应用与发展论文(本科)10...
- Django笔记(一)
- Android应用程序注冊广播接收器(registerReceiver)的过程分析
- window 注册表五大类
- 使用FizzBu​​zz和Mockito进行单元测试
- 仿苹果涂鸦软件_这些iPhone自带软件,学会一个少装十几个APP,16G手机也够用
- vue中如何创建组件?
- 搜索用计算机弹奏9277的数字,计算机基础知识参考试题(含答案)
- Win 10 或可以运行安卓APP
- LOADRUNNER连接ORACLE数据库的方法
- 基于JAVA+Spring+MYSQL的办公自动化系统
- 引用计数器法 可达性分析算法_面试官:你说你熟悉jvm?那你讲一下并发的可达性分析...
- JS连续赋值与求值顺序
- 新手小白学JAVA_IDEA修改主题 设置背景图片
- 面积曲线AUC(area under curve)
- H5直播答题并不难,看完这篇你也会
- word图文混排复制到TinyMCE图片不显示
- 用python证明采样定理_如何理解 Nyquist 采样定理?
热门文章
- 员工因上厕所时间超长被开除了,法院:超出正常生理需求范围!
- 2019年互联网大厂月饼大盘点,最丑的一家竟然是...
- 听说大家想补补算法和数据结构,给大家推荐一个GitHub 15k星的图文版开源项目...
- 音视频开发著作《Android音视频开发》终于发售了,先来一波签名送书福利!
- mysql对本地文件的读取_MySQL之文件读取
- java程序设计中科院_中科院NLPIR中文分词java版
- mysql双节点部署_MariaDB GALERA 集群双节点部署
- python打印字符串所在行_python打印文件中某个字符串的前几行
- go语言中错误处理方式
- java案例代码21-电影院购票系统[重要]