1 回答

TA貢獻1842條經驗 獲得超21個贊
用Spring Security3的四種方法概述
那么在Spring Security3的使用中,有4種方法:
一種是全部利用配置文件,將用戶、權限、資源(url)硬編碼在xml文件中,已經實現過,并經過驗證;
二種是用戶和權限用數據庫存儲,而資源(url)和權限的對應采用硬編碼配置,目前這種方式已經實現,并經過驗證。
三種是細分角色和權限,并將用戶、角色、權限和資源均采用數據庫存儲,并且自定義過濾器,代替原有的FilterSecurityInterceptor過濾器,
并分別實現AccessDecisionManager、InvocationSecurityMetadataSourceService和UserDetailsService,并在配置文件中進行相應配置。
目前這種方式已經實現,并經過驗證。
四是修改spring security的源代碼,主要是修改InvocationSecurityMetadataSourceService和UserDetailsService兩個類。
前者是將配置文件或數據庫中存儲的資源(url)提取出來加工成為url和權限列表的Map供Security使用,后者提取用戶名和權限組成一個完整的(UserDetails)User對象,該對象可以提供用戶的詳細信息供AuthentationManager進行認證與授權使用。
該方法理論上可行,但是比較暴力,也沒有時間實現,未驗證,以后再研究。
說明一下,我目前調通的環境為: java1.6 + struts2.1.6 + spring3.0.1 + hibernate3.3.1 + spring security3.0.2 + oracle9i + weblogic10.3,
順便提一下,目前(2011-4-2)serutity的最新版本為3.1,比較穩定的版本為3.0.5和2.0.6。
當然在進行spring security3的下面4種方法介紹之前,先假定SSH2的環境已經配置完畢,進入正常開發的過程,并且已經導入
- 1 回答
- 0 關注
- 1747 瀏覽
添加回答
舉報