最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

spring security登錄成功后跳轉回登錄前的頁面

 更新時間:2021年09月16日 14:18:15   作者:qq_29914229  
這篇文章主要介紹了spring security登錄成功后跳轉回登錄前的頁面,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

spring security登錄成功后跳轉回登錄前的頁面

我剛好碰到了這么一個需求,正好自己也剛開始學spring security,但是我百度了一下,發(fā)現(xiàn)都講的好麻煩,其實大概了解完之后,親自實踐一下發(fā)現(xiàn),操作非常簡單。

需求如下

在未登錄的情況下訪問某些頁面被攔截,跳轉到登錄頁面,然后現(xiàn)在需要登錄成功之后跳轉到登錄之前的頁面。

要解決這個問題,就需要明白一點,就是我被攔截前的請求去哪里了?

答案是有個requestCache的東西保存了你的這些信息,那么知道了這一點,后面的東西就簡單了,登錄成功之后的處理從這東西里面把之前的請求取出來就好了。

代碼如下

.successHandler(new AuthenticationSuccessHandler() {            
            @Override
            public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
                    Authentication authentication) throws IOException, ServletException {
              response.setContentType("application/json;charset=utf-8");
 
              RequestCache cache = new HttpSessionRequestCache();
              SavedRequest savedRequest = cache.getRequest(request, response);
              String url = savedRequest.getRedirectUrl();              
              response.sendRedirect(url);           
            }
        })

Springsecurity 配置文件和登錄跳轉

好久沒碰springsecurity了,最近在做一個小東西的時候,部署遇到了跳轉問題,所以寫篇文章記錄一下。

項目的其中一個需求是登錄,賬號也是固定的,所以直接在配置文件中處理。springsecurity具體的配置網上一大堆,這邊就不展開說了。

項目結構

在這里插入圖片描述

直接上springsecurity配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
	xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
						http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd">
	<!--配置不用攔截的資源-->
	<http pattern="/*.html" security="none"></http>
	<http pattern="/css/**" security="none"></http>
	<http pattern="/img/**" security="none"></http>
	<http pattern="/js/**" security="none"></http>
	<http pattern="/plugins/**" security="none"></http>
	<!-- 頁面的攔截規(guī)則 -->
	<http use-expressions="false">
		<intercept-url pattern="/**" access="ROLE_ADMIN"/>
		<form-login login-page="/login.html" default-target-url="/admin/index_user.html" authentication-failure-url="/error_page.html" />
		<csrf disabled="true"/>	
		<headers>
			<frame-options policy="SAMEORIGIN"/>
		</headers>
		<logout logout-url="/logout"/>
	</http>
	
	<!--配置登錄的賬號和密碼-->
	<authentication-manager>
		<authentication-provider>
			<user-service>
				<user name="admin" password="123456" authorities="ROLE_ADMIN"/>
			</user-service>
		</authentication-provider>
	</authentication-manager>		
</beans:beans>

form-login標簽用來配置自定義的登錄頁面,項目里配置的是login.html,default-target-url是用來配置登錄成功以后,需要跳轉的頁面,這里配置的是/admin/index_user.html,因為index_user.html在webapp下的admin目錄里面。

自定義的登錄頁面login.html上需要加form標簽登錄框

如下:

<form class="sui-form" action="/login" method="post" id="loginform">
							
								<div class="input-prepend"><span class="add-on loginname"></span>
									<input id="prependedInput" type="text" name="username" placeholder="用戶名" class="span2 input-xfat">
								</div>
								
								<div class="input-prepend"><span class="add-on loginpwd"></span>
									<input id="prependedInput" type="password" name="password" placeholder="密碼" class="span2 input-xfat">
								</div>
								
								<div class="logined">
									<a class="sui-btn btn-block btn-xlarge btn-danger" onclick="doucment:loginform.submit()" target="_blank">登&nbsp;&nbsp;錄</a>
								</div>
							</form>

完成。

eclipse調試成功后,導出war包,部署到tomcat里面。

瀏覽器輸入 http://localhost:8080/investigation/,直接跳轉到登錄頁面

在這里插入圖片描述

一切正常。然后在下面的登錄框中輸入賬號:admin,密碼:123456,點擊登錄,頁面就顯示404,提示為找不到/login。

在這里插入圖片描述

查了半天,發(fā)現(xiàn)在登錄頁login.html里面form的action屬性里添加項目路徑investigation,然后重新運行服務器,就能成功跳轉。

具體修改如下

<form class="sui-form" action="/investigation/login" method="post" id="loginform"><!--此處action需要加上工程的路徑-->
							
								<div class="input-prepend"><span class="add-on loginname"></span>
									<input id="prependedInput" type="text" name="username" placeholder="用戶名" class="span2 input-xfat">
								</div>
								
								<div class="input-prepend"><span class="add-on loginpwd"></span>
									<input id="prependedInput" type="password" name="password" placeholder="密碼" class="span2 input-xfat">
								</div>
								
								<div class="logined">
									<a class="sui-btn btn-block btn-xlarge btn-danger" onclick="doucment:loginform.submit()" target="_blank">登&nbsp;&nbsp;錄</a>
								</div>
							</form>

在這里插入圖片描述

在真正部署的時候,修改tomcat的配置文件里面默認的訪問路徑即可,不需要在上面的action里面改。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 你一定不知道的Java Unsafe用法詳解

    你一定不知道的Java Unsafe用法詳解

    Unsafe是位于sun.misc包下的一個類,主要提供一些用于執(zhí)行低級別、不安全操作的方法,如直接訪問系統(tǒng)內存資源、自主管理內存資源等,下面這篇文章主要給大家介紹了關于Java Unsafe用法的相關資料,需要的朋友可以參考下
    2021-10-10
  • 聊聊Lombok中的@Builder注解使用教程

    聊聊Lombok中的@Builder注解使用教程

    @Builder注解的作用主要是用來生成對象,并且可以為對象鏈式賦值。接下來通過本文給大家介紹Lombok中的@Builder注解使用教程,感興趣的朋友一起看看吧
    2021-11-11
  • MyBatis源碼解析——獲取SqlSessionFactory方式

    MyBatis源碼解析——獲取SqlSessionFactory方式

    這篇文章主要介紹了MyBatis源碼解析——獲取SqlSessionFactory方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • java int轉byte和long轉byte的方法

    java int轉byte和long轉byte的方法

    下面小編就為大家?guī)硪黄猨ava int轉byte和long轉byte的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • Spring?+?ECharts實現(xiàn)數(shù)據(jù)可視化的案例詳解

    Spring?+?ECharts實現(xiàn)數(shù)據(jù)可視化的案例詳解

    Apache?ECharts是一個基于?JavaScript?的開源可視化圖表庫,在網頁上實現(xiàn)數(shù)據(jù)的可視化,非常好用,本文將通過一個簡單的demo來給大家介紹一下Spring?+?ECharts如何數(shù)據(jù)可視化,需要的朋友可以參考下
    2023-07-07
  • 解決idea2020 maven無法自動導包的問題

    解決idea2020 maven無法自動導包的問題

    這篇文章主要介紹了解決idea2020 maven無法自動導包的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 深入解析Java中的數(shù)據(jù)類型與變量

    深入解析Java中的數(shù)據(jù)類型與變量

    這篇文章主要介紹了深入解析Java中的數(shù)據(jù)類型與變量,是Java入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09
  • Mybatis新增數(shù)據(jù)并返回主鍵id的兩種方法實現(xiàn)

    Mybatis新增數(shù)據(jù)并返回主鍵id的兩種方法實現(xiàn)

    本文主要介紹了Mybatis新增數(shù)據(jù)并返回主鍵id的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-02-02
  • Java設計模式之java迭代器模式詳解

    Java設計模式之java迭代器模式詳解

    這篇文章主要介紹了java迭代器模式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-09-09
  • SpringBoot整合Swagger2的步驟詳解

    SpringBoot整合Swagger2的步驟詳解

    這篇文章主要介紹了SpringBoot整合Swagger2的步驟詳解,幫助大家更好的理解和學習使用SpringBoot框架,感興趣的朋友可以了解下
    2021-04-04

最新評論

宁远县| 仁怀市| 万年县| 白水县| 桐庐县| 东乡族自治县| 行唐县| 渝北区| 新营市| 遂平县| 喜德县| 芜湖县| 保定市| 石首市| 三台县| 合山市| 南川市| 郸城县| 田阳县| 绥宁县| 武威市| 花莲县| 兴仁县| 区。| 纳雍县| 东莞市| 垦利县| 阜新市| 平和县| 柏乡县| 措美县| 上思县| 肇东市| 大邑县| 台东市| 上蔡县| 华坪县| 蒙阴县| 尼玛县| 嫩江县| 大余县|