【问题标题】:spring is not redirecting to default target url?spring 没有重定向到默认目标 url?
【发布时间】:2011-12-28 15:44:01
【问题描述】:

我正在使用 Spring Security 进行身份验证。身份验证工作正常。但经过身份验证后,它不会重定向到在 spring 安全配置文件中使用默认目标 url 提到的 html。我收到了简单的消息成功。但不是已配置的html页面。我在下面添加了重定向。

<form-login login-page="/login.jsp" default-target-url="/welcome.html"/>

我是否缺少要配置的内容。

谢谢!

【问题讨论】:

    标签: spring-security


    【解决方案1】:

    如果用户在请求受保护的资源后被发送到登录页面,他们将在成功登录后被发送到最初请求的页面。 default-target-url 仅在用户登录时才使用,而没有先请求受保护的资源(即他们直接导航到登录页面)。如果您总是想转到默认目标网址,可以指定always-use-default-target="true",如下例所示

    <form-login login-page="/login.jsp" 
                default-target-url="/welcome.html" 
                always-use-default-target="true"/>
    

    【讨论】:

    • 这就是问题所在。即使我只有 default-target-url,在成功登录后,它也将我转移到奇怪的 /FAVICON.ICO。
    • 这就是我要找的东西 ;)
    【解决方案2】:

    我遇到了类似的问题,上面的答案给了我一个提示,但是由于我直接从 Java 类中使用配置,因此以下帮助了我:

    docs.spring.io你可以找到:

    defaultSuccessUrl(String defaultSuccessUrl, boolean alwaysUse)

    因此当改变时

    .defaultSuccessUrl("/home")
    

    .defaultSuccessUrl("/home", true)
    

    问题解决了。

    【讨论】:

    • 感谢您对我的帮助。查看 javadoc:/** * 指定用户在验证成功后将被重定向到哪里 * 他们在验证之前没有访问安全页面或 {@code alwaysUse} * 为真。*/ 我从上面理解的是,如果一个人没有首先访问过安全页面,除非标志设置为 true,否则不会发生重定向。
    【解决方案3】:

    如果浏览器请求的资源需要经过身份验证的会话 - 例如,这里有一个有趣的问题。请求一个要求用户登录的 javascript 文件,这将生成 403 错误,如果您在 spring 或 web.xml 中配置了错误页面,则会将用户重定向到 - 但是用户永远不会看到这个。

    然后当用户登录时,spring 认为用户请求的最后一件事是错误页面,因此用户被定向到错误页面,而不是你在 spring 中配置的默认页面

    【讨论】:

      【解决方案4】:

      我知道这是一个相当老的问题,但现在有些用户也可能遇到这个问题。

      1. 确保您可以访问welcome.html 页面(相对于上下文路径)。您可以删除intercept-url或登录后直接访问。
      2. 确保您还指定了always-use-default-target="true"
      3. 如果您指定了会话管理,请确保您没有首先被重定向到 invalid-session-url

      【讨论】:

        【解决方案5】:

        正如您在图片中看到的那样,存在某种糟糕的设计(IMO 它应该始终重定向到the default-target-url)。当您从禁止资源访问登录 URL 时,它会将您重定向到该 URL,而不是通过 default-target-url。 只要使用always-use-default-target="true",你就会有欲望的行为

        http://i.stack.imgur.com/fj9ou.png

        【讨论】:

          猜你喜欢
          • 2015-08-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-06-18
          • 2020-02-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多