【发布时间】:2015-08-07 10:32:06
【问题描述】:
希望您能帮我解决以下问题:
我正在使用 Spring Security 和 Spring MVC 构建 Web 应用程序,一旦尝试访问被禁止的资源(403 HTTP 状态代码),我需要将流程重定向到登录页面。
现在,spring Security 已经完成了防止未经授权访问我在我的 Restful API (@RestController) 中公开的每个资源的工作,并使用正确的 403 默认页面进行响应。但是由于我需要重定向到登录页面,所以我需要推动 spring security 进行重定向而不是发送 403。在这方面,我一直在尝试执行以下操作,但我无法使其工作:
-
设置 HttpSecurity bean 以在访问被拒绝页面时管理异常:
@覆盖 受保护的无效配置(HttpSecurity http)抛出异常{ http.csrf().disable().exceptionHandling().accessDeniedPage("/security/403"); }
-
现在,我将控制器设置为捕获 /security/403 URL
//对于403访问被拒绝页面 @RequestMapping(value = "/security/403", method = RequestMethod.GET) 公共无效访问拒绝(){ //在这里做一些事情,重定向或其他。 }
谢谢
【问题讨论】:
标签: spring spring-security http-status-code-403