acegi security实践教程—资源角色信息存到放数据库
回顾:
前几篇博客中,我们都是在acegi配置文件中配置那些web资源需要保护,这次为了更接近企业开发,我们把web资源角色信息都存放到数据库中。
那既然自己设计表,那么就需要自己重新定义 objectDefinitionSource了,那先看看我们原来acegi的配置:
那默认的调用PathBasedFilterInvocationDefinitionMap类,
主要的方法如下:
前提说明:
在最近几篇博客中,都有debug步骤,其中debug步骤,是因为调试中为了看源码必经之路,为了更让同学们了解其调用步骤,所以才加入debug步骤。在博客中不可能把所有的源代码贴出,所以只能截关键代码。因为有时自定义类,想知道何时何地以及如何调到自己实现类。
有时为了明白框架为何抛出异常以及为何转到这种页面,这个时候都需要一遍遍又一遍遍又又……的debug,哈哈,大家肯定都有这种经历吧
具体开发步骤:
开发环境:
MyEclispe10.7.1+tomcat6.0.37+acegi1.0.5+spring2.0
项目目录如下:
其中readme主要用来记录本次验证目的
讲解:
根据上述默认的PathBasedFilterInvocationDefinitionMap类,我们主要重写其方法即可,只要把其角色信息封装成ConfigAttributeDefinition对象返回即可。
封装的类信息如下:
debug运行:
当职责连运行到FilterSecurityInterceptor类的doFilter时:
第一步:进入FilterSecurityInterceptor类的DoFilter方法中
第二步:进入invoke方法
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。