1. 程式人生 > >(新手級)關於放行動態對映請求的方式

(新手級)關於放行動態對映請求的方式

前提條件:擁有applicationContext-security.xml檔案,也就是運用了spring-security3jar包

applicationContext-security.xml配置檔案當中可以設定許可權的攔截

<!-- auto-config = true 則使用from-login.如果不使用該屬 則預設為http-basic(沒有session).access-denied-page:出錯後跳轉到的錯誤頁面;-->  

    <http auto-config="true" access-denied-page="/common/403.jsp">  

        <!-- intercept-url:攔截器,可以設定哪些路徑需要哪些許可權來訪問. filters=none 不使用過濾,也可以理解為忽略 -->  
        <intercept-url pattern="/index.jsp" access="ROLE_USER" />  
        <intercept-url pattern="/login.jsp" filters="none" />  


        <intercept-url pattern="/common/**" filters="none" />  
        <intercept-url pattern="/script/**" filters="none" />  
        <intercept-url pattern="/admin.jsp" access="ROLE_ADMIN" />  

        <intercept-url pattern="/user.jsp" access="ROLE_USER" />     
        <!-- session-management是針對session的管理. 這裡可以不配置. 如有需求可以配置. -->  
        <!-- id登陸唯一. 後登陸的賬號會擠掉第一次登陸的賬號  error-if-maximum-exceeded="true" 禁止2次登陸;   
            session-fixation-protection="none" 防止偽造sessionid攻擊. 使用者登入成功後會銷燬使用者當前的session.   
            建立新的session,並把使用者資訊複製到新session中. -->  
        <session-management session-fixation-protection="none">  
            <concurrency-control/>  
        </session-management>        
    <!-- login-page:預設指定的登入頁面.authentication-failure-url:出錯後跳轉頁面.default-target-url:成功登陸後跳轉頁面 -->  
        <form-login login-page="/login.jsp"  
            authentication-failure-url="/common/403.jsp"  
            default-target-url="/admin.jsp" />  
        <!-- logout-success-url:成功登出後跳轉到的頁面; -->  
        <logout logout-success-url="/login.jsp"/>  
        <http-basic />     
    </http>

將需要放行的動態請求設定到<intercept-url pattern="放行動態請求地址" access="permitAll">permitAll指所有登入和非登入人員都可以訪問

處理這個問題的初衷是公司要求對一個專案進行單點登入改造,在登入處理的Controller層有一個回撥函式,在單點登入sso系統登入後,會回撥一個callBack函式,將引數從位址列傳輸過來子系統,進行子系統使用者名稱認證。因此需要放開callBack方法的對映地址的攔截。