返回顶部
首页 > 资讯 > 后端开发 > Python >spring security登录成功后跳转回登录前的页面
  • 927
分享到

spring security登录成功后跳转回登录前的页面

2024-04-02 19:04:59 927人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录spring security登录成功后跳转回登录前的页面需求如下代码如下Springsecurity 配置文件和登录跳转项目结构直接上springsecurity配置文件自定义

spring security登录成功后跳转回登录前的页面

我刚好碰到了这么一个需求,正好自己也刚开始学spring security,但是我百度了一下,发现都讲的好麻烦,其实大概了解完之后,亲自实践一下发现,操作非常简单。

需求如下

在未登录的情况下访问某些页面被拦截,跳转到登录页面,然后现在需要登录成功之后跳转到登录之前的页面。

要解决这个问题,就需要明白一点,就是我被拦截前的请求去哪里了?

答案是有个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>
	<!-- 页面的拦截规则 -->
	<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。

在这里插入图片描述

查了半天,发现在登录页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里面改。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: spring security登录成功后跳转回登录前的页面

本文链接: https://lsjlt.com/news/135927.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • spring security登录成功后跳转回登录前的页面
    目录spring security登录成功后跳转回登录前的页面需求如下代码如下Springsecurity 配置文件和登录跳转项目结构直接上springsecurity配置文件自定义...
    99+
    2024-04-02
  • PHP登录成功后传值跳转页面
    PHP登录成功后传值跳转页面 在Web开发中,用户登录是一个非常基础且常见的功能。在用户成功登录系统后,通常会需要将用户的相关信息传递到下一个页面,以便后续操作或显示用户个性化内容。本...
    99+
    2024-03-12
    php 登录 跳转
  • uniapp登录成功后跳转到其他页面刷新
    随着互联网的发展,移动端开发变得越来越重要。基于此,uniapp应运而生,成为了现今流行的一种跨平台移动端开发框架。在uniapp中,登录是一个非常常见的功能,而刷新问题也是开发过程中需要考虑的一个问题。本文将详细介绍如何在uniapp中实...
    99+
    2023-05-22
  • JavaFx实现登录成功跳转到程序主页面
    本文实例为大家分享了JavaFx实现登录成功跳转到程序主页面的具体代码,供大家参考,具体内容如下 1、需求 登录页面在输入账号密码之后,验证账号密码时候正确,正确就跳转到应用程序的首...
    99+
    2024-04-02
  • dedecms后台登录成功后返回到登录界面的解决方法
    本文实例讲述了dedecsm后台登录成功后返回到登录界面的解决方法。分享给大家供大家参考。具体方法如下: 一、问题: 在发布文章时,文章编写好了,点最后的确定,突然出现这个错误:DedeTag Engine Create...
    99+
    2022-06-12
    dedecms 后台 登录成功 返回 登录界面 解决方法
  • Vue Router 实现登录后跳转到之前想要访问的页面
    目录简介简单示例补充用户退出时的处理进阶简介 该功能主要用于判定用户权限,在用户无权限时重定向至登录页,并在用户完成登录后,再定向至用户之前想要访问的路由;或者用户在任意路由点击登录...
    99+
    2022-12-14
    Vue Router 登录跳转 Vue Router 登录后跳转访问页面
  • PyQt5实现用户登录GUI界面及登录后跳转
    PyQt5是强大的GUI工具之一,通过其可以实现优秀的桌面应用程序。希望通过一个简单的登录页面可以让大家顺利入坑,如有不妥之处还请大佬指点改正! 导入业务需要的所有的扩展包。 ...
    99+
    2024-04-02
  • JavaFx如何实现登录成功跳转到程序主页面
    今天小编给大家分享一下JavaFx如何实现登录成功跳转到程序主页面的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、需求登录...
    99+
    2023-07-02
  • PHP登录成功后的跳转问题怎么解决
    本篇内容主要讲解“PHP登录成功后的跳转问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP登录成功后的跳转问题怎么解决”吧!一、浏览器跳转和服务器跳转在 PHP 中,有两种跳转方式...
    99+
    2023-07-05
  • vue-router如何判断页面未登录自动跳转到登录页
    这篇文章将为大家详细讲解有关vue-router如何判断页面未登录自动跳转到登录页,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.定义路由的时候配置meta属性,req...
    99+
    2024-04-02
  • react.js实现页面登录跳转示例
    1,页面目录信息: 2,从index.js导入路由信息BasicRoute.js,然后BasicRoute.js中存储App.js和StatisticsInformation.js...
    99+
    2023-01-31
    react.js登录跳转 react.js页面跳转
  • PyQt5怎么实现用户登录GUI界面及登录后跳转
    这篇文章主要讲解了“PyQt5怎么实现用户登录GUI界面及登录后跳转”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PyQt5怎么实现用户登录GUI界面及登录后跳转”吧!导入业务需要的所有的扩...
    99+
    2023-06-25
  • AndroidStudio实现注册页面跳转登录页面的创建
    本文是用来介绍Android Studio创建注册页面跳转登录页面的界面设计以及跳转功能地实现,完整结构见文章结尾。 用户注册界面 <xml version="1.0" en...
    99+
    2024-04-02
  • ASP.NET MVC实现登录后跳转到原界面
    有这样的一个需求:提交表单,如果用户没有登录,就跳转到登录页,登录后,跳转到原先表单提交这个页面,而且需要保持提交表单界面的数据。 提交表单的页面是一个强类型视图页,如果不考虑需要保...
    99+
    2024-04-02
  • WordPress实现退出登录后跳转到指定页面的方法
    本文实例讲述了WordPress实现退出登录后跳转到指定页面的方法。分享给大家供大家参考。具体方法如下: 有时我们希望WordPress用户退出登录了不在系统默认的页面了,我希望它跳转到我指定的位置了,下面我来给各位朋友...
    99+
    2022-06-12
    WordPress 退出登录 跳转 指定页面 方法
  • Android Studio怎么实现注册页面跳转登录页面
    今天小编给大家分享一下Android Studio怎么实现注册页面跳转登录页面的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2023-06-30
  • require.js与bootstrap结合怎么实现页面登录和页面跳转功能
    这篇文章主要介绍了require.js与bootstrap结合怎么实现页面登录和页面跳转功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。页...
    99+
    2024-04-02
  • win11 wifi不跳转登录页面如何解决
    本篇内容主要讲解“win11 wifi不跳转登录页面如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“win11 wifi不跳转登录页面如何解决”吧!win11wifi不跳转登录页面怎么办方...
    99+
    2023-07-01
  • PHP登录页面跳转问题解决方法
    在Web开发中,登录页面跳转是一个常见的问题,特别是在使用PHP来实现用户登录功能时。在用户输入用户名和密码后,成功登录后应该跳转到另一个页面,例如用户的个人主页。在本文中,我们将讨论...
    99+
    2024-03-15
    php 登录 跳转
  • WordPress实现登录或退出后直接跳转回首页的方法
    本文实例讲述了WordPress实现登录或退出后直接跳转回首页的方法。分享给大家供大家参考。具体分析如下: 现在Wordpress是登录之后跳回到我们上次查看的页面,那么要如何修改它登录之后直接跳回到首页呢,这里就来给给...
    99+
    2022-06-12
    WordPress 登录 退出 跳转 回首页 方法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作