Spring mvc 如何使重定向在登录后转到不同的页面?

Spring mvc 如何使重定向在登录后转到不同的页面?,spring-mvc,spring-security,Spring Mvc,Spring Security,在我的项目中,我对重定向有问题。成功登录(从所有页面)后,我重定向到上一页,但对于一个登录页面,我应该重定向到主页(如果我没有这样做,我将从登录页面重定向回登录页面) 这是我的spring security.xml <http auto-config="true" use-expressions="true"> <form-login login-page="/spring/j_spring_security_check" authentication-

在我的项目中,我对重定向有问题。成功登录(从所有页面)后,我重定向到上一页,但对于一个登录页面,我应该重定向到主页(如果我没有这样做,我将从登录页面重定向回登录页面)

这是我的
spring security.xml

<http auto-config="true" use-expressions="true">
    <form-login login-page="/spring/j_spring_security_check"
        authentication-failure-url="/loginFail"
        authentication-success-handler-ref="authenticationSuccessHandler"/>
    <logout logout-url="/j_spring_security_logout" />
    <remember-me key="remKey" user-service-ref="UserDetailsServiceImpl"
        token-validity-seconds="2419200" />
</http>
<!-- After login, return to the last visited page -->
<beans:bean id="authenticationSuccessHandler"
    class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler">
    <beans:property name="useReferer" value="true" />
</beans:bean>

编辑:

如果我在login.jsp中添加此代码,我知道这是一个糟糕的解决方案

<security:authorize access="isAuthenticated()">
    <c:redirect url="/"/>
</security:authorize>


当用户通过身份验证时,页面自动重定向到我的主页

使用AuthenticationSuccessHandler管理登录位置

有关示例和更多信息,请参考这些问答:

您的另一个选项是捕获特定控制器上的重定向,并将其进一步重定向到所需页面:


e、 g.HelloWorld->Login->HelloWorld Redirect->HomePage

您需要自定义
AuthenticationSuccessHandler
来处理特殊情况。