我正在使用Spring 3.0和Spring Security。我一直使用以下配置:
<form-login login-page="/login" authentication-failure-url="/login?error=credentials" default-target-url="/account" login-processing-url="/security_check"/>
因此,当用户未正确登录时,他们会转到/ login。现在我在网站的每个页面都有一个登录对话框。如果他们没有正确登录,我不希望他们重定向到/ login ..而是我希望他们返回到他们所在的页面。当我看到error = credentials作为参数时,我会弹出相同的对话框。
那我该怎么做?
答案 0 :(得分:2)
<!-- redirect url for failure of authentication -->
<bean id="simpleUrlAuthenticationFailureHandler" class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler">
<constructor-arg value="/login.jsp?error=1"></constructor-arg>
</bean>
我建议从上下文访问对象并重置URL或编写自己的自定义处理程序,这可能会执行特定于您所在页面的操作