在項目中我們肯定不能使用Spring自己生成的登錄頁面,而要用我們自己的登錄頁面,下面講一下如何自定義登錄頁面,先看下配置
~~~
<sec:http auto-config="true">
<sec:intercept-url pattern="/app.jsp" access="ROLE_SERVICE"/>
<sec:intercept-url pattern="/**" access="ROLE_ADMIN"/>
<sec:form-login login-page="/login.jsp" authentication-failure-url="/login.jsp"
default-target-url="/index.jsp"/>
</sec:http>
~~~
使用form-login配置來指定我們自己的配置文件,其中
login-page:登錄頁面
authentication-failure-url:登錄失敗后跳轉的頁面
default-target-url:登錄成功后跳轉的頁面
在登錄頁面中
表單提交地址為:j_spring_security_check
用戶名的name為:j_username
密碼的name為:j_password
提交方式為POST
重啟Tomcat后,再次打開項目發現登錄頁面已經變成了我們自己的登錄頁面,如下圖

如果提示頁面循環的錯誤,是因為沒有設置登錄頁面不需要驗證,增加如下配置就可以了
~~~
<security:http pattern="/login.jsp" security="none" />
~~~
輸入用戶名密碼后跳轉到了我們指定的頁面

注:重啟Tomcat有時候并不會使Session失效,在測試的時候可能會出現,明明重啟了Tomcat可以訪問資源時卻沒有跳到登錄頁面。所以需要重啟瀏覽器再重試就可以了。
- 前言
- (大綱)----學習過程分享
- (1)----SpringSecurity3.2環境搭建
- (2)----SpringSecurity簡單測試
- (3)---- 自定義登錄頁面
- (4)---- 數據庫表結構的創建
- (5)---- 國際化配置及UserCache
- (6)---- 使用數據庫管理用戶及權限
- (7)---- 解決UsernameNotFoundException無法被捕獲的問題
- (8)---- 自定義決策管理器及修改權限前綴
- (9)---- 自定義AccessDeniedHandler
- (10)---- 自定義登錄成功后的處理程序及修改默認驗證地址
- (11)---- 使用數據庫來管理資源
- (12)---- 使用數據庫來管理方法
- (13)---- 驗證碼功能的實現
- (14)---- Logout和SessionManager