登录会话超时后,Spring Security重定向到最后请求的页面

2024-03-25

我已经实现了 Spring Security 来登录我的门户网站。除了一个问题之外,它工作正常。我已将会话超时设置为 5 分钟。一旦发生超时,然后用户单击任何 URL,它将被重定向到注销页面。 但是当用户重新认证时,用户直接登陆到最后访问的页面,而不是默认目标URL的主页。

Spring安全文件如下:

<?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-3.0.xsd
        http://www.springframework.org/schema/security
        http://www.springframework.org/schema/security/spring-security-3.0.xsd">

    <http auto-config="true">
        <intercept-url pattern="/index.jsp" access="ROLE_ADMIN,ROLE_USER" /> 
        <intercept-url pattern="/home.html" access="ROLE_ADMIN,ROLE_USER" />
        <intercept-url pattern="/mdm/accessToken.html" access="ROLE_USER" />
        <intercept-url pattern="/mdm/enroll.html" access="ROLE_USER" />
        <intercept-url pattern="/mdm/installApp.html" access="ROLE_USER" />
        <intercept-url pattern="/mdm/checkStatus.html" access="ROLE_USER" />
        <intercept-url pattern="/mdm/searchDevice.html" access="ROLE_USER" />     
        <intercept-url pattern="/admin/*" access="ROLE_ADMIN" />
        <intercept-url pattern="/account/*" access="ROLE_ADMIN" />
        <intercept-url pattern="/user/*" access="ROLE_USER" />      

        <form-login login-page="/login.html" default-target-url="/home.html"
                    authentication-failure-url="/loginfailed.html" />
        <logout logout-url="/logout.html" logout-success-url="/logoutSuccess.html" invalidate-session="true" />
        <anonymous username="guest" granted-authority="ROLE_GUEST" />
        <session-management>
            <concurrency-control max-sessions="1"  />
        </session-management>
        <session-management invalid-session-url="/logout.html" />
    </http>

    <authentication-manager>
        <authentication-provider>
            <jdbc-user-service data-source-ref="dataSource"
                users-by-username-query="select USER as username, password, 'true' as enabled from TBL_USER_MASTER where user=?"
                authorities-by-username-query="select um.USER as username , rm.ROLE_NAME as authorities from TBL_USER_MASTER um,TBL_ROLE_MASTER rm
            where um.USER=? and um.role_id=rm.role_id" />
            <password-encoder hash="md5"/>
        </authentication-provider>
    </authentication-manager>
</beans:beans>  

Add the 始终使用默认目标归因于你的表单登录 tag.

<form-login always-use-default-target="true" />

如果设置为 true,则用户将始终从 default-target-url 给定的值开始,无论他们如何到达登录页面。映射到 UsernamePasswordAuthenticationFilter 的alwaysUseDefaultTargetUrl 属性。默认值为 false。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

登录会话超时后,Spring Security重定向到最后请求的页面 的相关文章

随机推荐

  • 使用 Python JSON 序列化类并更改属性大小写

    我想创建一个类的 JSON 表示形式并自动更改属性名称snake case to lowerCamelCase 因为我想遵守 Python 中的 PEP8 以及 JavaScript 命名约定 也许更重要的是 我正在与之通信的后端使用low
  • 使用 AUGraph 播放麦克风的声音

    当我使用AUGraph实现麦克风播放声音时 我有一个问题 在设备 iphone 3g 中 我只能从耳机的右侧听到 但在模拟器中效果很好 我可以从耳机的两侧听到声音 这是我用来将输入连接到输出的代码 AUGraphConnectNodeInp
  • jsonschema2pojo 中的 JSR-303 激活

    有一个地方在jsonschema2pojo描述启用可能性的文档JSR 303注释生成 https github com joelittlejohn jsonschema2pojo wiki Reference minimummaximum
  • Android中加载数据到TextView

    我有一个像 Yes No Dontknow 这样的 XML 标签 我正在解析 XML 文件并获取数据 现在我需要在单独的 TextView 中显示每个选项 即 是 应显示在一个 TextView 中 否 应显示在另一个 TextView 中
  • C# 构造函数之外的对象构造

    当涉及到设计类以及它们之间的 通信 时 我总是尝试以所有对象构造和组合都在对象构造函数中进行的方式进行设计 我不喜欢从外部进行对象构造和组合的想法 就像其他对象设置属性并调用我的对象上的方法来初始化它一样 当多个对象尝试对您的对象执行此操作
  • 通过javascript选择特定打印机

    我的计算机连接了两台打印机 我可以通过 JavaScript 代码选择特定的打印机吗 无法绕过打印选项 默认打印机由访问者操作系统决定 使用普通的旧 JavaScript 对此无能为力 使用 Flash 或 Java 或许可以实现这一点 但
  • css/ html 帮助制作像容器一样的圆桌

    任何人都可以提供如何创建基于 css 的气泡容器以便 html 进入其中的见解或示例吗 我想做一张圆桌 也就是说 我希望结果看起来像一张桌子 但边缘是圆角的 如果内部也有轻微的梯度就太好了 我在这个网站上找到了一个样本 http www s
  • 使用R中的geom_smooth()在ggplot2图例中混合填充颜色

    使用绘制两条回归曲线时geom smooth in ggplot2 为了fill颜色 图例选择置信区间相交的颜色 我确实认为当重叠区域按比例大于另一个区域时就会出现这种行为 但是我发现这是非常不受欢迎的 因为读者能够推断出 变暗 区域是 C
  • 有条件地填充 voronoi 段/颜色

    我正在尝试根据 d lon 值有条件地为这些 voronoi 段着色 如果是正数 我希望它是绿色的 如果是负数 我希望它是红色的 然而目前它正在将每个段返回为绿色 即使我将 它仍然返回绿色 活生生的例子在这里 https allaffect
  • Visual Studio 2010 是否支持 Sharepoint 2007 开发?

    我注意到在 VS2010 beta 2 中 所有模板仅适用于 Sharepoint 2010 这是真的 如果是这样 VIeWS 1 3 至少可以与 VS2010 一起使用吗 据我记得在 SharePoint 拉斯维加斯会议上的会议 新的 很
  • 如何在 C# 中使用 itextsharp 创建带有泰米尔字体的 PDF 文件?

    我们正在 C 应用程序中通过传递泰米尔语文本 印度语言之一 来创建 pdf 文件 因此 我已经为我的泰米尔语字体安装了 AVVAIYAR TTF 泰米尔语字体之一 字体 但是当我运行下面提到的命令时pgm 创建的pdf文件不包含任何泰米尔字
  • 第一个承诺完成后,Angular $q.all 被调用

    我试图使用 q all 等待所有承诺都得到解决 但它是在第一个承诺完成后调用的 我做错了什么 function sendAudits audits var promises scope sendAudits progress 0 angul
  • 使用 jquery 将列表拆分为大小相等的子列表的最有效方法

    使用 jQuery 分割列表最有效的方法是什么 ul class columnar li li li li ul 分成几个子列表 ul class column1 li li li li ul ul class column2 li li
  • Java 上的 JSON 与 MultiValueMap

    我想构建一个像这样的 JSON Id 33396 Actions Key 5 Value Test Key 6 Value Test 2 我正在使用 MultiValueMap 这是我的代码 MultiValueMap
  • iOS swift 删除 UITableView 单元格分隔符空间

    我正在尝试删除 tableView 分隔符 我通过将分隔符样式设置为 none 来做到这一点 这会删除分隔符 但会在单元格之间留下空间 我的问题是如何消除单元格之间的空间 任何帮助 将不胜感激 In awakeFromNib功能设定UITa
  • 仅使用 C++ 编写的 Android 应用程序

    是否可以仅使用 C 来制作 Android 应用程序 我不懂Java 我尝试过 Visual Studio 2019 方法 但我想我的计算机不足以模拟 Android 手机 如果您有适当的编程工具 您可以使用 C 为 Android 编写代
  • 尝试通过 jni 调用从 java 更改 Windows 鼠标光标图标

    在我的 java 应用程序中 我尝试使用具有透明度的 argb 32 位 bmp 文件更改鼠标光标 我想进行 jni 调用以从 Windows 更改它 因为在 java 中更改光标会给我一个非常糟糕的鼠标光标 所有透明度都是 0x00 或
  • 为什么无符号类型在arm cpu中效率更高?

    我正在阅读手臂手册并提出这个建议 但没有提到原因 为什么无符号类型更快 在 ARMv4 之前 ARM 没有对加载半字和有符号字节的本机支持 要加载有符号的字节 你必须LDRB然后对值进行符号扩展 LSL那就起来吧ASR它回落 这很痛苦所以c
  • 错误:在 docker 容器中导入 Postgres 数据库

    我正在 docker 容器中运行 ruby on Rails 应用程序 我想在 postgres 容器中创建并恢复数据库转储 但是我 以下是我到目前为止所做的事情 1 添加了 bash 脚本 docker entrypoint initdb
  • 登录会话超时后,Spring Security重定向到最后请求的页面

    我已经实现了 Spring Security 来登录我的门户网站 除了一个问题之外 它工作正常 我已将会话超时设置为 5 分钟 一旦发生超时 然后用户单击任何 URL 它将被重定向到注销页面 但是当用户重新认证时 用户直接登陆到最后访问的页