記錄、分享

          spring-security3 入門(mén)篇[轉(zhuǎn)載]

          1.下載spring security的最新版本,工程下載的是3.1

          2. 新建工程,結(jié)構(gòu)如下:



           其中,涉及到的jar包可以在spring-security包中的例子中獲取

          3、配置spring-security.xml

          Xml代碼  收藏代碼
          1. <? xml   version = "1.0"   encoding = "UTF-8" ?>   
          2. < beans   xmlns = "http://www.springframework.org/schema/beans"   
          3.     xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"   xmlns:security ="http://www.springframework.org/schema/security"   
          4.     xsi:schemaLocation ="http://www.springframework.org/schema/beans   
          5.             http://www.springframework.org/schema/beans/spring-beans.xsd  
          6.             http://www.springframework.org/schema/security   
          7.             http://www.springframework.org/schema/security/spring-security.xsd">   
          8.   
          9.     <!-- 保護(hù)應(yīng)用程序的所有URL,只有擁有ROLE_USER才可以訪問(wèn) -->   
          10.     < security:http   auto-config = "true" >   
          11.         < security:intercept-url   pattern = "/**"   access = "ROLE_USER"   />   
          12.     </ security:http >   
          13.       
          14.     <!--配置認(rèn)證管理器,只有用戶(hù)名為user,密碼為user的用戶(hù),角色為ROLE_USER可訪問(wèn)指定的資源 -->  
          15.     < security:authentication-manager >   
          16.         < security:authentication-provider >   
          17.             < security:user-service >   
          18.                 < security:user   name = "user"    password = "user"   authorities ="ROLE_USER" />   
          19.             </ security:user-service >   
          20.         </ security:authentication-provider >   
          21.     </ security:authentication-manager >   
          22. </ beans >   

           4.配置web.xml

          Xml代碼  收藏代碼
          1. <? xml   version = "1.0"   encoding = "UTF-8" ?>   
          2. < web-app   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"   xmlns ="http://java.sun.com/xml/ns/javaee"   xmlns:web ="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"   xsi:schemaLocation ="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  id = "WebApp_ID"   version = "2.5" >   
          3.   < display-name > springSecurity </ display-name >   
          4.     <!--******************************** -->   
          5.     <!--*******log4j日志信息的配置****** -->   
          6.     <!--******************************* -->   
          7.     < context-param >   
          8.         < param-name > log4jConfigLocation </ param-name >   
          9.         < param-value > classpath:log4j.xml </ param-value >   
          10.     </ context-param >   
          11.     <!--Spring默認(rèn)刷新Log4j配置文件的間隔,單位為millisecond,可以不設(shè)置 -->   
          12.     < context-param >   
          13.         < param-name > log4jRefreshInterval </ param-name >   
          14.         < param-value > 60000 </ param-value >   
          15.     </ context-param >   
          16.   
          17.     <!--******************************** -->   
          18.     <!--*******spring bean的配置******** -->   
          19.     <!--******************************* -->   
          20.     < context-param >   
          21.         < param-name > contextConfigLocation </ param-name >   
          22.         < param-value > classpath:applicationContext.xml </ param-value >   
          23.     </ context-param >   
          24.       
          25.     < listener >   
          26.         < listener-class > org.springframework.web.util.Log4jConfigListener </listener-class >   
          27.     </ listener >   
          28.     < listener >   
          29.         < listener-class > org.springframework.web.context.ContextLoaderListener </listener-class >   
          30.     </ listener >   
          31.     < listener >   
          32.         < listener-class > org.springframework.web.util.IntrospectorCleanupListener </listener-class >   
          33.     </ listener >   
          34.     <!--******************************** -->   
          35.     <!--*******字符集 過(guò)濾器************ -->   
          36.     <!--******************************* -->   
          37.     < filter >   
          38.         < filter-name > CharacterEncodingFilter </ filter-name >   
          39.         < filter-class > org.springframework.web.filter.CharacterEncodingFilter </filter-class >   
          40.         < init-param >   
          41.             < param-name > encoding </ param-name >   
          42.             < param-value > UTF-8 </ param-value >   
          43.         </ init-param >   
          44.         < init-param >   
          45.             < param-name > forceEncoding </ param-name >   
          46.             < param-value > true </ param-value >   
          47.         </ init-param >   
          48.     </ filter >   
          49.     < filter-mapping >   
          50.         < filter-name > CharacterEncodingFilter </ filter-name >   
          51.         < url-pattern > /* </ url-pattern >   
          52.     </ filter-mapping >   
          53.   
          54.     <!--******************************** -->   
          55.     <!--*******session的配置************ -->   
          56.     <!--******************************* -->   
          57.     < session-config >   
          58.         < session-timeout > 30 </ session-timeout >   
          59.     </ session-config >   
          60.       
          61.     <!-- SpringSecurity必須的begin -->   
          62.     < filter >   
          63.         < filter-name > springSecurityFilterChain </ filter-name >   
          64.         < filter-class > org.springframework.web.filter.DelegatingFilterProxy </filter-class >   
          65.     </ filter >   
          66.     <!-- 攔截所有的請(qǐng)求 -->   
          67.     < filter-mapping >   
          68.         < filter-name > springSecurityFilterChain </ filter-name >   
          69.         < url-pattern > /* </ url-pattern >   
          70.     </ filter-mapping >   
          71.     <!-- SpringSecurity必須的end -->   
          72.       
          73.   < welcome-file-list >   
          74.     < welcome-file > index.jsp </ welcome-file >   
          75.   </ welcome-file-list >   
          76. </ web-app >   

           

          5.index.jsp

          Html代碼  收藏代碼
          1. < %@ page  language = "java"   contentType = "text/html; charset=UTF-8"   
          2.     pageEncoding = "UTF-8" % >   
          3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">   
          4. < html >   
          5. < head >   
          6. < meta   http-equiv = "Content-Type"   content = "text/html; charset=UTF-8" >   
          7. < title > 首頁(yè) </ title >   
          8. </ head >   
          9. < body >   
          10.     < h1 > 這里是首頁(yè),歡迎你! </ h1 >   
          11.     < %   
          12.         String[] str  =  session .getValueNames();  
          13.         for(int i = 0 ;i < str.length ;i++){  
          14.             out.println("key =="+str[i]);  
          15.             out.println("value =="+session.getAttribute(str[i]));  
          16.         }  
          17.     %>   
          18. </ body >   
          19. </ html >   

           

          6部署應(yīng)用,在首次瀏覽index.jsp時(shí),由于沒(méi)登錄,spring security會(huì)自動(dòng)生成登錄頁(yè)面,頁(yè)面內(nèi)容如下:

           



           7輸入用戶(hù)名和密碼,user,則進(jìn)入首頁(yè)

           

           

           至此,簡(jiǎn)單的權(quán)限控制完成,在index頁(yè)面中通過(guò)session可以看到存入session中的用戶(hù)信息。

          posted on 2013-12-02 19:00 張生 閱讀(325) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2013年12月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 康乐县| 张家界市| 华阴市| 陕西省| 许昌县| 安平县| 石门县| 牟定县| 思南县| 罗田县| 米林县| 修文县| 恩施市| 清河县| 东乌| 桂阳县| 调兵山市| 福清市| 贺兰县| 灵璧县| 陕西省| 蓬溪县| 溧水县| 应用必备| 汶上县| 甘肃省| 昌平区| 宁城县| 古丈县| 仁寿县| 密云县| 沽源县| 郎溪县| 垦利县| 九龙坡区| 剑阁县| 含山县| 邳州市| 柳林县| 措美县| 封开县|