隨筆-59  評(píng)論-31  文章-0  trackbacks-0
          1. 在web.xml文件中加入Filter聲明 
          <!-- Spring security Filter -->
          <filter>
              <filter-name>springSecurityFilterChain</filter-name>
              <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
          </filter>
          <filter-mapping>
              <filter-name>springSecurityFilterChain</filter-name>
              <url-pattern>/*</url-pattern>
          </filter-mapping>

          這個(gè)Filter會(huì)攔截所有的URL請(qǐng)求,并且對(duì)這些URL請(qǐng)求進(jìn)行Spring Security的驗(yàn)證。 

          注意,springSecurityFilterChain這個(gè)名稱是由命名空間默認(rèn)創(chuàng)建的用于處理web安全的一個(gè)內(nèi)部的bean的id。所以你在你的Spring配置文件中,不應(yīng)該再使用這個(gè)id作為你的bean。 

          與Acegi的配置不同,Acegi需要自行聲明一個(gè)Spring的bean來(lái)作為Filter的實(shí)現(xiàn),而使用Spring Security后,無(wú)需再額外定義bean,而是使用<http>元素進(jìn)行配置。 

          通過(guò)擴(kuò)展Spring Security的默認(rèn)實(shí)現(xiàn)來(lái)進(jìn)行用戶和權(quán)限的管理 

          事實(shí)上,Spring Security提供了2個(gè)認(rèn)證的接口,分別用于模擬用戶和權(quán)限,以及讀取用戶和權(quán)限的操作方法。這兩個(gè)接口分別是:UserDetails和UserDetailsService。 

          public interface UserDetails extends Serializable {
              
              GrantedAuthority[] getAuthorities();

              String getPassword();

              String getUsername();

              boolean isAccountNonExpired();

              boolean isAccountNonLocked();

              boolean isCredentialsNonExpired();

              boolean isEnabled();
          }

          public interface UserDetailsService {
              UserDetails loadUserByUsername(String username)
                  throws UsernameNotFoundException, DataAccessException;
          }

          非常清楚,一個(gè)接口用于模擬用戶,另外一個(gè)用于模擬讀取用戶的過(guò)程。所以我們可以通過(guò)實(shí)現(xiàn)這兩個(gè)接口,來(lái)完成使用數(shù)據(jù)庫(kù)對(duì)用戶和權(quán)限進(jìn)行管理的需求。在這里,我將給出一個(gè)使用Hibernate來(lái)定義用戶和權(quán)限之間關(guān)系的示例。 
          posted on 2012-01-20 10:41 RoyPayne 閱讀(1722) 評(píng)論(1)  編輯  收藏 所屬分類: SSH

          評(píng)論:
          # re: spring security 權(quán)限控制 2012-09-24 14:17 | merge
          不夠詳細(xì),對(duì)初級(jí)看不懂  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 呼图壁县| 黄浦区| 开封市| 合水县| 蕉岭县| 秦皇岛市| 清远市| 九龙县| 丽江市| 安龙县| 岳西县| 保德县| 镇坪县| 遂川县| 永清县| 保康县| 忻州市| 百色市| 稷山县| 邓州市| 湄潭县| 昌黎县| 黄平县| 西宁市| 邮箱| 垦利县| 墨玉县| 汉沽区| 平谷区| 延吉市| 东平县| 肥城市| 余干县| 林芝县| 灵山县| 宁都县| 白山市| 永靖县| 宜丰县| 阿巴嘎旗| 樟树市|