我使用Spring MVC中,瓷砖和四郎。
这是我的unauthorizedUrl属性是如何配置的: <property name="unauthorizedUrl" value="/unauthorized"/>
我的期望是,当MyAuthorizingRealm
认定无效的凭证,即四郎会重定向到/unauthorized
。
但是,这不会发生,我将提交表单。 我有一个登录@Controller
映射到处理GET和POST操作为/login
。 对于访问的URL /lists
显示登录表单。 因此,似乎在一种情况下而不是其他的工作。
@Controller
@RequestMapping(value = "/login")
public class LoginController {
@RequestMapping(method = RequestMethod.GET)
public String getLoginFormView(Model model) {
return "login";
}
// if this method doesn't exist a Post not supported exception is thrown
@RequestMapping(method = RequestMethod.POST)
public String handlePost() {
return "this view doesn't exist";
}
}
即使我扔AuthenticationException
从MyAuthorizingRealm.doGetAuthenticationInfo()
我仍然不能得到四郎重定向到/unauthorized
。 它总是结束了与过滤器链和继续执行在POST方法@Controller
; 当然我希望重定向来代替。
这里是我webapp-context.xml
: http://pastebin.com/XZaCKqEC
这里是我web.xml
: http://pastebin.com/5H81Tm8A
下面是一些四郎跟踪日志输出。 当您尝试访问工作四郎/lists
。 但是,当登录表单提交重定向到/unauthorized
从未发生过。 注意,当检测登录提交: http://pastebin.com/ZEK3CTdJ
所以,当检测登录提交,但原来的过滤器链执行反正而不是重定向到/unauthorized
我难倒。 非常感谢您的帮助,如果您需要更多信息,请让我知道。