acegi中的cache配置

2008-02-23 10:08:51来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

通过读acegi的源码,更加体会到“基于接口”的设计给扩展带来巨大的灵活性。
在bean配置中,有以下内容:
<bean id="daoAuthenticationProvider" class="net.sf.aceGISecurity.providers.dao.PasswordDaoAuthenticationProvider">
<property name="passwordAuthenticationDao"><ref bean="userDAO"/></property>
<property name="userCache"><ref local="userCache"/></property>
</bean>
这个userCache,acegi给出了一个默认的EhCache的实现,如果你不设该属性,默认使用NullUserCache,用户登录后,每进入一个url,系统都会通过Dao访问一次数据库,来取得新的UserDetail,我自己的系统中持久层使用ibatis作映射,而ibatis有自已的基于配置的cache manager,根据自己搞的demo的log信息,确定了,在user.XML中给ibatis的select子句配置缓存模式后,完全不必再给上述的bean注入userCache属性了,当修改用户信息时会同时清除缓存信息。
这点和我们平时的设计思路好象不同,我们一般的设计是,一个用户登录后,将其User Info Bean置入session中,随用随取,这个big bean包括了相关的细节信息以及角色集合。而acegi的“认证“与”授权“是分开的,它只在session中存了key的部分,具体需要用到对象时去缓存中拿。
感谢spring,感谢acegi。

上一篇: 构建Linux下IDE环境--Eclipse篇
下一篇: web应用应怎样开发才结构最清晰

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:code strategy: 正确使用List.toArray()

下一篇:构建Linux下IDE环境--Eclipse篇