Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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 在SpringSecurity2.0.2中,如何在登录后重定向到请求的url_Java_Spring_Login_Spring Security_Login Control - Fatal编程技术网

Java 在SpringSecurity2.0.2中,如何在登录后重定向到请求的url

Java 在SpringSecurity2.0.2中,如何在登录后重定向到请求的url,java,spring,login,spring-security,login-control,Java,Spring,Login,Spring Security,Login Control,在我的应用程序中,我向用户发送一封电子邮件,其中包含一个指向jsp的链接。如果用户单击链接但未登录,则会重定向到登录页面,成功登录后会重定向到默认登录页面 我希望当用户成功登录时,它应该重定向到用户提交请求的同一页面(链接页面),而不是默认页面 我使用的是SpringSecurity 2.0.2 任何帮助都将不胜感激。使用SavedRequestAwareAuthenticationSuccessHandler定义您的AuthenticationFilter <bean id="y

在我的应用程序中,我向用户发送一封电子邮件,其中包含一个指向jsp的链接。如果用户单击链接但未登录,则会重定向到登录页面,成功登录后会重定向到默认登录页面

我希望当用户成功登录时,它应该重定向到用户提交请求的同一页面(链接页面),而不是默认页面

我使用的是SpringSecurity 2.0.2


任何帮助都将不胜感激。

使用SavedRequestAwareAuthenticationSuccessHandler定义您的AuthenticationFilter

    <bean id="yourAuthenticationFilter" class="yourAuthenticationFilterClass">  
        <property name="authenticationSuccessHandler">
            <bean class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler" />
        </property>
    </bean>

我找到了答案。我在自定义身份验证筛选器中添加了以下行,它扩展了
AuthenticationProcessingFilter

HttpSession session = request.getSession(false);
        SavedRequest savedRequest = null; 
        if (session != null) {
            savedRequest = (SavedRequest) session.getAttribute(SPRING_SECURITY_SAVED_REQUEST_KEY);
        }
savedRequest对象存储最后请求的url,在成功身份验证后可以将其设置为目标url


另外,这项工作是在Spring security 2.0中完成的。

很抱歉,我没有意识到这一点。