问题:
处于安全角度,访问本系统时,是需要登陆才可以访问其下的资源。根据上篇博客的调试,我们发现,若其url在数据库中没有没有配置其角色,则是可以直接访问其url的。
那为了避免这种情况,我们如何改进自己的系统,进一步接近真实的企业开发呢?
概要:
这节我们将会讲到匿名权限,securitycontext中随时都包含权限,而不是只有登录后才有。
进一步改进上一篇博客中自定义objectDefinitionSource类,因为若返回null,则直接进入其url。
具体开发:
开发环境:
MyEclispe10.7.1+tomcat6.0.37+acegi1.0.5+spring2.0+jdk1.6【其中数据库和数据结构保持不变】
项目目录如下:
其中readme主要用来记录本次验证目的
配置匿名Filter:
<bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy">
<property name="filterInvocationDefinitionSource">
<value>
PATTERN_TYPE_APACHE_ANT
/**=httpSessionContextIntegrationFilter,logoutFilter,authenticationProcessingFilter,
anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor
</value>
</property>
</bean>
<!--匿名过滤器 -->
<bean id="anonymousProcessingFilter" cl