Spring MVC 和登录重定向

2023-12-11

我有一个网络应用程序,当用户单击个人资料链接时,如果他没有登录,我想将他重定向到登录页面,然后当他登录时,我会将他发送回他所拥有的链接原来点击了。

在这种情况下,他的个人资料。

我已经完成了将他重定向到登录页面的部分,但我试图找出如何记住他的初始点击,并在他成功登录后重定向到此页面。

我正在使用 Spring Security 进行登录。


幸运的是,Spring Security 具有内置功能,可以记住最初请求的 URL,并在用户成功登录后将其重定向到那里。您的问题的快速答案是您需要通过设置来启用此功能始终使用默认目标在 Spring Security 配置中将选项设置为 false。

例如,以下是 Spring Security 配置中的公共行:

<form-login 
    login-page="/login.html"
    authentication-failure-url="/login.html?status=LOGIN_FAILURE"
    default-target-url="/secure/index.html"
    always-use-default-target="false" />

此配置将使以下两个流程成为可能:

Flow #1

  1. 莎莉请求/login.html
  2. Sally 提供了有效的用户名和密码
  3. Sally 被重定向到 /secure/index.html,因为那是默认目标 URL

流程#2(您想要的流程)

  1. 大卫请求 /secure/kittens.html
  2. 由于 David 尚未登录,因此他会看到登录页面。
  3. 提供有效的用户名和密码后,David 被重定向到 /secure/kittens.html,这是他尝试访问的原始页面。 (他没有被带到默认目标 URL因为始终使用默认目标设置为 false。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring MVC 和登录重定向 的相关文章

随机推荐

  • 将图像从 azure blob 存储转换为 Base64?

    我正在尝试将图像从 Azure blob 存储转换为 base64 private static string FromAzureToBase64 string azureUri Uri blobUri new Uri azureUri C
  • 将 R 县地图叠加到州地图上

    R新手在这里 如果我第一次使用map state 我该如何使用map county ylim xlim 但像这样抵消它 现在 我正在使用 imagemagickcomposite gravity southwest 合并 2 个 PNG 文
  • 如何在 Vim 中为命令创建别名?

    Vim 是我编程时首选的文本编辑器 因此我总是遇到一个特别烦人的问题 通常 当我快速需要保存缓冲区并继续执行其他杂项任务时 我会执行典型的操作 w 然而 我总是 似乎超过 50 的时间 设法利用这一点 w 很自然地 Vim 对我大喊大叫 因
  • 带边框的纯 css 树

    我正在尝试用纯 CSS 创建一棵带有缩进的树 我一直在尝试使用类似的东西 ul tree ul padding left 5px 但是我想在列表中的每个项目之间进行分隔 如果我使用上面的代码 分隔栏也会缩进 所以它不太好 这是我当前的代码
  • 带切换功能的 SwiftUI onDelete 列表

    这是我对这个问题的第三个问题 到目前为止还没有不崩溃的解决方案 我想用切换来滑动删除列表 我的 简化的 代码如下所示 struct Item Identifiable var id UUID var isOn Bool struct Con
  • Windows C 运行时 _close(fd) 未关闭文件

    我们在使用 C 和 C 混合编写的 Windows 应用程序进行生产时遇到问题 其中 MoveFileEx 偶尔会报告 该进程无法访问该文件 因为该文件正在被另一个进程使用 这个问题很少见 但最近我们已经能够在我们的开发环境中重现该问题 发
  • 如何在 JavaScript 中重新定义数组上的 + 运算符?

    假设点是使用 JavaScript 表示的Array as x y 我如何定义 点上的运算符 1 2 5 10 6 12 JavaScript 没有覆盖内置算术运算符的功能 您可以通过覆盖一些有限的技巧来实现 valueOf and toS
  • 如何使用 Java 将 BsonDocument 对象写入文件并再次读取它

    我想将 BsonDocument 输出到文件系统 而不是 mongodb 然后使用 java 再次读取它 但目前的BasicBSONencoder仅支持旧版本的BSONObject 如何将BsonDocument编码为二进制 或者有什么方法
  • 如何在整个子查询上使用 group_concat?

    无需进行不必要的比较 我想获得一系列行的 md5 哈希值 由于带宽限制 我希望它发生在服务器端 这有效 create table some table id int auto increment col1 varchar 1 col2 in
  • 如何删除数据框列的标题

    我想出了一个像这样的数据框 我想知道我们如何更改或删除 id 和 date 因为它们只是索引和列的名称 id col1 col2 clo3 date 2000 01 03 55 500000 NaN NaN 2000 01 04 52 81
  • 使用 ImageMagick 将 PDF 转换为 PNG 或 JPEG 非常非常慢

    我有一个使用 PHP 和 ImageMagick 的 PDF 到 PNG 转换脚本 但我遇到了转换速度问题 我知道它是有效的 因为对于非常小的 PDF 转换所需的时间并不是那么长 但是对于 250kb 文件 实际上仍然不是那么大 转换需要超
  • 如何控制winform mschart图例文本对齐c#?

    如何设置图表图例对象中的文本对齐方式 我尝试过使用 myChartName Legends mySeriesName Alignment stringAlignment Near 没有效果 我还尝试创建自定义图例项目 同样没有效果 文本始终
  • FirefoxDriver webdriver.load.strategy 不稳定 findelements 从错误页面获取元素

    我在一个应用程序中使用 FirefoxDriver 该应用程序可以快速浏览几个相似但不相同的页面 为了加快执行速度 我需要使用 FF 我将 webdriver load strategy 属性设置为 不稳定 这确实通过不完全加载页面来加快速
  • python groupby 行为?

    gt gt from itertools import groupby gt gt keyfunc lambda x x gt 500 gt gt obj dict groupby range 1000 keyfunc gt gt list
  • 哪一种是表单验证的正确方法? Colander 的模式验证还是 Deform 的表单验证?

    我刚刚开始使用Pyramid对于我的一个项目 我有一种情况 我需要验证表单字段输入 方法是获取该表单字段值并进行 Web 服务调用来断言该值的正确性 例如 有一个字段称为您银行的 CUSTOMER ID 我需要将其 单独 作为输入 并通过进
  • TKinter 中的阿拉伯语文本

    我正在创建一个带有文本的窗口 我想在文本中使用阿拉伯语 root Tk root title Alram root geometry 1500x600 msg Message root bg red text The main interf
  • 使用递归函数反转字符串

    我目前正在学习 C 我无法通过这个练习 我必须创建一个递归函数来反转string1 into string2 这是我的代码 我将非常感谢您的帮助 include
  • 以编程方式访问 Windows 8.1 中最常用的应用程序

    Windows 8 1 开始菜单提供了可按最常用排序的应用程序列表 Windows 按钮 gt 向下箭头 gt 应用程序 按最常用排序 有没有办法以编程方式获取这些应用程序的列表按这个顺序在 C 中 如果不是按照这个顺序 至少是 Windo
  • 如何使用 Tuple/Array/Vector 从 Python (ctypes) 调用 PARI/GP?

    我想打电话PARI GP来自Python 我需要使用ellisdivisible E P n Q 帕里的功能 请参阅此链接中第 441 页的第 3 15 35 号功能 所以我必须传递 2 个向量或数组 例如 E ellinit 0 1 1
  • Spring MVC 和登录重定向

    我有一个网络应用程序 当用户单击个人资料链接时 如果他没有登录 我想将他重定向到登录页面 然后当他登录时 我会将他发送回他所拥有的链接原来点击了 在这种情况下 他的个人资料 我已经完成了将他重定向到登录页面的部分 但我试图找出如何记住他的初