(新手級)關於放行動態對映請求的方式
在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方法的對映地址的攔截。