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方法
                        
                     
                    
                    
                        免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。