Shiro的Subject和Sessoin的创建
之前要先了解Session的来源Shiro session和Spring session一样吗?
创建Subject的位置
AbstractShiroFilter . doFilterInternal(ServletRequest, ServletResponse, FilterChain)
第一次创建Session
AbstractShiroFilter . doFilterInternal(ServletRequest, ServletResponse, FilterChain) ->ProxiedFilterChain . doFilter(ServletRequest, ServletResponse) ->OncePerRequestFilter . doFilter(ServletRequest, ServletResponse, FilterChain) ->AdviceFilter . doFilterInternal(ServletRequest, ServletResponse, FilterChain) ->AbstractShiroFilter. doFilterInternal()->PathMatchingFilter .preHandle(ServletRequest, ServletResponse)->PathMatchingFilter. isFilterChainContinued(ServletRequest, ServletResponse, String, Object)->AccessControlFilter .onPreHandle(ServletRequest request, ServletResponse response, Object mappedValue) ->AccessControlFilter .onAccessDenied(ServletRequest request, ServletResponse response, Object mappedValue) ->UserFilter. onAccessDenied(ServletRequest request, ServletResponse response) ->AccessControlFilter .saveRequestAndRedirectToLogin (ServletRequest request, ServletResponse response) ->AccessControlFilter. saveRequest(ServletRequest request)->WebUtils. aveRequest(ServletRequest request)-> DelegatingSubject. getSession()->SessionsSecurityManager.start(SessionContext)->AbstractNativeSessionManager. start(SessionContext)
此处没有什么过多说明,跟踪代码就能发现!
Shiro的Subject和Sessoin的创建的更多相关文章
- Shiro的subject实质上是当前执行用户的特定视图。
Shiro的subject实质上是当前执行用户的特定视图. 通过org.apache.shiro.SecurityUtils可以查询当前执行用户: Subject currentUser = Secu ...
- Shiro中Subject对象的创建与绑定流程分析
我们在平常使用Shrio进行身份认证时,经常通过获取Subject 对象中保存的Session.Principal等信息,来获取认证用户的信息,也就是说Shiro会把认证后的用户信息保存在Subjec ...
- Shiro权限项目
目录 环境配置 spring容器 springmvc freemarker mybatis shiro 工具类 TokenManager.java Result.java 功能实现 登录 注册 个人中 ...
- 让Apache Shiro保护你的应用
在尝试保护你的应用时,你是否有过挫败感?是否觉得现有的Java安全解决方案难以使用,只会让你更糊涂?本文介绍的Apache Shiro,是一个不同寻常的Java安全框架,为保护应用提供了简单而强大的方 ...
- shiro 简单的身份验证 案例
Apache Shiro是Java的一个安全框架,Shiro可以帮助我们完成:认证.授权.加密.会话管理.与Web集成.缓存等. 简单的身份验证 项目目录: 首先,在shiro.ini里配置了用户名和 ...
- shiro安全三部曲
源:http://blog.csdn.net/boonya/article/details/8233435 第一部分 Shiro简介及项目目录结构 最新官方示例下载:http://shiro.apac ...
- apache shiro内置过滤器 标签 注解
内置过滤器 anon(匿名) org.apache.shiro.web.filter.authc.AnonymousFilter authc(身份验证) org.apache.shiro ...
- Shiro入门(1)
=============基本概念=================== 什么是Apache Shiro? Apache Shiro(发音为“shee-roh”,日语“堡垒(Castle)”的意思)是 ...
- spring mvc下shiro的session,request等问题
最近的一个项目使用的是spring mvc,权限框架使用的是shiro. 不过有一个问题一直困扰着我,现在的session到底是谁的session,是servlet的还是shiro的. 于是我把spr ...
随机推荐
- HDU - 5628:Clarke and math (组合数&线性筛||迪利克雷卷积)
题意:略. 思路:网上是用卷积或者做的,不太会. 因为上一题莫比乌斯有个类似的部分,所以想到了每个素因子单独考虑. 我们用C(x^p)表示p次减少分布在K次减少里的方案数,由隔板法可知,C(x^p)= ...
- HDU3853LOOPS (师傅逃亡系列•三)(基础概率DP)
Akemi Homura is a Mahou Shoujo (Puella Magi/Magical Girl). Homura wants to help her friend Madoka sa ...
- 添加删除表格(js完成)【自己实际项目】
// 通过dom对象完成 注释掉了 /** function insertRows(){ var tempRow=0; var tbl=document.getElementById("di ...
- Balanced Substring
You are given a string s consisting only of characters 0 and 1. A substring [l, r] of s is a string ...
- waitKey()
waitKey仅对窗口机制起作用,即namedWindow产生的窗口.若在此之前没有产生窗口,则waitKey相当于未执行. 注:namedWindow产生的窗口: namedWindow()+ims ...
- .Net Remoting和Web Service大比拼
随着.NET的推出,微软引入了一套新的通讯技术:Web Services和.NET remoting..NET remoting和ASP.NET Web Services可以为建立分布式的应用提供强有 ...
- vs2013 + python3.52 + boost1.61, 编译C++库失败
使用vs2013 + python3.52 + boost1.61, 编译C++库, 失败! 提示如下": boost::python::detail::init_module(st ...
- drill 表&&视图使用
1. table create table table_name as select * from storage_name.dbname.tablename 2. view crea ...
- Errors running builder 'DeploymentBuilder' on project ' 解决方法
此问题一般发生在Myeclipse 保存文件并自动部署时候. Errors occurred during the build. Errors running builder 'DeploymentB ...
- vs2015安装ORACLE的DbFirst
不说DbFirst好在哪里,它和ModelFirst,CodeFirst都各有各的好,由于对于已经存在的一个大型的业务库,使用EntityFramework的更倾向于DbFirst,因为好多同事已经习 ...