Posted on 2007-03-07 23:46
云自无心水自闲 阅读(1327)
评论(2) 编辑 收藏 所属分类:
Java 、
心得体会 、
Appfuse 、
Acegi
这次详细地说明一下Appfuse的认证过程:
1. 在Web.xml中定义了FilterChainProxy,
2. 在Security.xml中对FilterChain进行了详细定义。
3. 其中AuthenticationManager的Providers包含了DaoAuthenticationProvider,而此Provider的UserDetailsService引用了userDao。
4. 在applicationContext-hibernate.xml中定义了userDao,是org.appfuse.dao.hibernate.UserDaoHibernate。
5. 而UserDaoHibernate实现了UserDetailsService接口,主要是实现了loadUserByUsername(String)方法,其中参数是String类型的用户名,而返回一个UserDetails类型的对象。
6. 在LoadUserByUsername方法中,使用getHibernateTemplate().find来获得了一个org.appfuse.model.User类型的List,其中User类型实现了UserDetails。