1 回答

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