springsecurity3实现的过程

1.在类初始化的时候,InvocationSecurityMetadataSource类就会调用loadResourceDefine()的方法,取到所用的资源对应的角色关系。(这个步骤是在tomcat容器启动的时候调用的)

2.当用户访问某个资源时,提交的url就会被我们自定义的过滤器(MyFilterSecurityInterceptor)

拦截,进入doFilter()的方法,在调用该方法前,会执行InterceptorStatusToken token = super.beforeInvocation(fi),当执行这行代码时,会进入InvocationSecurityMetadataSource类的另一个方法getAttributes(Object object),该方法返回的是某个资源对应的权限集合(比如说/index.jsp所对应的权限是ROLE_USER),参数object可以理解为一个url。

3.在得到某个资源对应的权限集合后,就会进入AccessDecisionManager类的decide()方法,首先得到资源的权限,然后得到用户的权限,判断用户是否具有该资源的权限,有的就放行,没的就返回登入页面或抛出一个无权限的异常。

4.当用户通过登入页面提交表单时,进入到UserDetailsService类的loadUserByUsername()方法,并把用户名当参数传入,如果取到了用户的权限,则经过自定义的过滤器,做上面2和3的步骤。

5.进入登入页面后,用户每当点击一个资源,都要经过过滤器拦截,判断是否具有访问该资源的权限,有的就放行,没的就跳入权限受阻的页面,这样就差不多欧了

springsecurity3实现的过程,布布扣,bubuko.com

时间: 2024-11-03 22:14:45

springsecurity3实现的过程的相关文章

SpringSecurity3.X--remember-me

http://blog.sina.com.cn/s/blog_8020e411010155lf.html SpringSecurity3.X--remember-me (2012-04-20 15:03:14) 转载▼ 标签: it 分类: javaEE 在SpringSecurity中配置remember-me时,遇到这样的问题,remember-me没有起作用,按照官方文档的讲解,只需要在<http>中增加<remember-me />配置,并在login.jsp中增加如下代码

Linux下WebSphereV8.5.5.0 安装详细过程

Linux下WebSphereV8.5.5.0 安装详细过程 自WAS8以后安装包不再区别OS,一份介质可以安装到多个平台.只针对Installation Manager 进行了操作系统的区分 ,Websphere产品介质必须通过专门的工具Install Managere安装.进入IBM的官网http://www.ibm.com/us/en/进行下载.在云盘http://yun.baidu.com/share/linkshareid=2515770728&uk=4252782771 中是Linu

艰辛五天:Ubuntu14.04+显卡驱动+cuda+Theano环境安装过程

题记:从一开始不知道显卡就是GPU(虽然是学计算机的,但是我真的不知道-脑残如我也是醉了),到搞好所有这些环境前后弄了5天时间,前面的买显卡.装显卡和装双系统见另一篇博客装显卡.双系统,这篇主要记录我怎么配置后面的环境,虽然中间重装Ubuntu三次,后面安装过程也没差别. 基础平台:64-bit,Ubuntu14.04 1.安装NVIDIA驱动(参考技术文章,基本是复制啊,蟹蟹作者~) (1) 在官网下载NVIDIA驱动,根据自己买的型号选择下载,放到 /home/lvxia/ 目录下面,我下载

Win7 Qt4.8.5+QtCreator2.8.0+mingw配置过程

1:安装包 百度盘下载链接: Mingw: http://pan.baidu.com/share/link?shareid=3960359240&uk=4147081190 Qt Creator 2.8.0: http://pan.baidu.com/share/link?shareid=3964645350&uk=4147081190 Qt 4.8.5: http://pan.baidu.com/share/link?shareid=3968136805&uk=414708119

tomcat启动过程报the JDBC Driver has been forcibly unregistered问题的修复过程

最近两天在整理关于flume的总结文档,没有启动过tomcat.昨天晚上部署启动,发现报了如题的错误,全文如下: 严重: The web application [/oa-deploy] registered the JBDC driver [com.microsoft.sqlserver.jdbc.SQLServerDriver] but failed to unregister it when the web application was stopped. To prevent a mem

Android APP 调试过程中遇到的问题。

调试过过程中APP安装完启动后有的时候会异常退出,报这个错误.有的时候可以直接启动.查找不到原因.网上说把commit方法替换成commitAllowingStateLoss() 也无效. Android APP 调试过程中遇到的问题. >> android 这个答案描述的挺清楚的:http://www.goodpm.net/postreply/android/1010000007192169/AndroidAPP调试过程中遇到的问题.html

VMWARE VCSA 6.5安装过程

VMWARE  VCSA 6.5与6.0的安装过程有点小出入,特记录下来,方便工作. 一.在本地笔记本上将VCSA ISO解压缩 二.进入vcsa-ui-installer\win32目录 运行installer 三.在弹出的vCenter Server Appliance 6.5 Lnstaller中点击install 四.安装过程 五.在安装完成后,登录vcenter(https://192.168.105.38:5480)进行配置,如果登录不了,请先进esxi中确认vcsa安装成功并开启

微信小程序豆瓣电影项目的改造过程经验分享

在学习微信小程序开发过程中,一部分的难点是前端逻辑的处理,也就是对前端JS的代码编辑:一部分的难点是前端界面的设计展示:本篇随笔基于一个豆瓣电影接口的小程序开源项目进行重新调整,把其中遇到的相关难点和改进的地方进行讨论介绍,希望给大家提供一个参考的思路,本篇随笔是基于前人小程序的项目基础上进行的改进,因此在开篇之前首先对原作者的辛劳致敬及感谢. 1.豆瓣电影接口的小程序项目情况 豆瓣电影接口提供了很多相关的接口给我们使用,豆瓣电影接口的API地址如下所示:https://developers.d

2.4、uboot配置和编译过程详解

2.4.1.uboot主Makefile分析1 2.4.1.1.uboot version分析 (1)uboot版本号分为3个级别: VERSION:主版本号 PATCHLEVEL:次版本号 SUBLEVEL:再次版本号 EXTRAVERSION:另外附加的版本信息 这四个用.隔开共同构成了最终的版本号. (2)Makefile中版本号最终生成了一个变量U_BOOT_VERSION,这个变量记录了Makefile中配置的版本号 (3)include/version_autogenerated.h