Spring security spring没有重定向到默认的目标url?
我正在使用spring安全性进行身份验证。身份验证工作正常。但在身份验证之后,它不会重定向到前面提到的在spring安全配置文件中使用默认目标url的html。我得到了一个简单的信息:成功。但不是已配置的html页面。我在下面添加了一行用于重定向Spring security spring没有重定向到默认的目标url?,spring-security,Spring Security,我正在使用spring安全性进行身份验证。身份验证工作正常。但在身份验证之后,它不会重定向到前面提到的在spring安全配置文件中使用默认目标url的html。我得到了一个简单的信息:成功。但不是已配置的html页面。我在下面添加了一行用于重定向 <form-login login-page="/login.jsp" default-target-url="/welcome.html"/> 我是否缺少要配置的内容 谢谢 如果用户在请求受保护的资源后被发送到登录页面,则他们将在成
<form-login login-page="/login.jsp" default-target-url="/welcome.html"/>
我是否缺少要配置的内容
谢谢 如果用户在请求受保护的资源后被发送到登录页面,则他们将在成功登录后被发送到最初请求的页面。仅当用户在未首先请求受保护资源的情况下登录(即,他们直接导航到登录页面)时,才会使用。如果您总是希望转到默认的目标url,则可以指定=“true”,如下例所示
<form-login login-page="/login.jsp"
default-target-url="/welcome.html"
always-use-default-target="true"/>
一个有趣的问题是,如果浏览器请求一个需要经过身份验证的会话的资源,例如请求一个需要用户登录的javascript文件,这将生成一个403错误,如果您在spring或web.xml中配置了错误页面,则会将用户重定向到该错误,但是用户永远不会看到这一点
然后,当用户登录时,spring认为用户请求的最后一件事是错误页面,因此用户被定向到错误页面,而不是您在spring中配置的默认页面。我知道这是一个相当老的问题,但一些用户现在也可能有此问题
welcome.html
页面(相对于上下文路径)。您可以删除截取url
或在登录后直接访问它始终使用default target=“true”
正如您在图中所看到的,存在某种糟糕的设计(在我看来,它应该总是重定向到默认的目标url)。当您从禁止的资源转到登录url时,它会将您重定向到该url,而不会通过
默认目标url
。
只要使用始终使用default target=“true”
,您就会有渴望的行为
我遇到了类似的问题,上面的答案给了我一个提示,但由于我直接从Java类使用configs,以下内容帮助了我: 在中,您可以找到: defaultSuccessUrl(字符串defaultSuccessUrl,布尔值alwaysUse) 因此,当发生变化时
.defaultSuccessUrl("/home")
到
问题解决了。这就是问题所在。尽管我只有默认的目标url,但在成功登录后,它让我无法访问strange/FAVICON.ICO。这就是我要找的;)谢谢你,这对我有帮助。查看javadoc://***指定如果用户在进行身份验证之前没有访问过安全页面或{@code alwaysUse},则在成功进行身份验证后将重定向到哪里*为true。*/我从上面了解到,如果未首先访问安全页面,则除非将标志设置为true,否则不会发生重定向。
.defaultSuccessUrl("/home", true)