Posted on 2007-03-07 23:46
云自無心水自閑 閱讀(1343)
評論(2) 編輯 收藏 所屬分類:
Java 、
心得體會 、
Appfuse 、
Acegi
這次詳細(xì)地說明一下Appfuse的認(rèn)證過程:
1. 在Web.xml中定義了FilterChainProxy,
2. 在Security.xml中對FilterChain進(jìn)行了詳細(xì)定義。
3. 其中AuthenticationManager的Providers包含了DaoAuthenticationProvider,而此Provider的UserDetailsService引用了userDao。
4. 在applicationContext-hibernate.xml中定義了userDao,是org.appfuse.dao.hibernate.UserDaoHibernate。
5. 而UserDaoHibernate實現(xiàn)了UserDetailsService接口,主要是實現(xiàn)了loadUserByUsername(String)方法,其中參數(shù)是String類型的用戶名,而返回一個UserDetails類型的對象。
6. 在LoadUserByUsername方法中,使用getHibernateTemplate().find來獲得了一個org.appfuse.model.User類型的List,其中User類型實現(xiàn)了UserDetails。