Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在提供登录凭据时重定向到特定页面_Java_Spring Mvc_Spring Security - Fatal编程技术网

Java 如何在提供登录凭据时重定向到特定页面

Java 如何在提供登录凭据时重定向到特定页面,java,spring-mvc,spring-security,Java,Spring Mvc,Spring Security,在使用SpringSecurity时,我提供了一个特殊的页面,其中有一个匿名用户角色 <intercept-url pattern="/runApp*" access="hasAnyRole('User', 'Admin','ROLE_ANONYMOUS')" /> 在spring security的同一http标记中还有许多其他拦截URL。这是我的spring安全代码: <http auto-config="true" use-expressions="

在使用SpringSecurity时,我提供了一个特殊的页面,其中有一个匿名用户角色

<intercept-url pattern="/runApp*"
        access="hasAnyRole('User', 'Admin','ROLE_ANONYMOUS')" />

在spring security的同一http标记中还有许多其他拦截URL。这是我的spring安全代码:

<http auto-config="true" use-expressions="true">
<intercept-url pattern='/welcome*' access="hasAnyRole('User', 'Admin')" />
<intercept-url pattern="/runApp*" access="hasAnyRole('User', 'Admin','ROLE_ANONYMOUS')" />
<form-login login-page="/login" authentication-failure-url="/login.jsp?login_error=true" default-target-url="/welcome" />
<logout logout-success-url="/login" invalidate-session="true" />

当用户首次登录时,它会重定向到欢迎页面。但当他想要访问runApp页面时,他必须在登录页面中提供他的凭据。但当他提供登录凭证时,它会重定向到欢迎页面。而我希望它重定向到特定的runApp页面


谢谢。

表单login
元素中,名为
的另一个属性始终使用默认目标,该属性定义登录后的重定向规则。如果此属性的值设置为
false
,则只有在直接请求登录页面后,用户才会被重定向到
默认目标url

我找到了解决方法。这不是最好的解决办法,但是,如果有人有更好的东西要展示,我会洗耳恭听。当重定向到凭证的登录页面时,我正在会话中保存数据。当注册用户登录时,它会转到控制器,在那里我从会话中获取数据并将其重定向到所需页面。
感谢您的支持……:)

没有运气,还是一样,它再次重定向到欢迎页面。这是匿名用户可以访问的链接。当他粘贴到浏览器中时,他会被重定向到登录页面以获取他的凭据,以下是控制器中的代码。Authentication auth=SecurityContextHolder.getContext().getAuthentication();如果((auth instanceof AnonymousAuthenticationToken)){return“login”}那么当他使用正确的凭据登录时,他将被重定向到特定页面。如果此链接必须是不安全的,则将其放入另一个禁用安全性的
http
元素中。在链接数据=12中,为特定用户建议不同的信息。因此,页面取决于字段“data”。某些注册用户希望这些数据仅由其他注册用户查看。因此,当注册用户在浏览器中粘贴此链接时,他将被引导到登录页面。当他登录时,它应该被重定向到特定的页面。但在我的情况下,默认情况下它将进入欢迎页面。