【发布时间】:2010-11-11 00:04:05
【问题描述】:
我已经让 Spring Security 成功评估了我的控制器上的 @PreAuthorize。如果我使用“permitAll”,那么我可以查看该页面,如果我使用“isAuthenticated()”,那么我会得到一个丑陋的访问被拒绝堆栈跟踪。如果我将配置放在我的安全上下文配置 xml 文件中 http 节点内的拦截 url 中,那么我会很好地重定向到登录页面,而不是在我的页面中获取讨厌的堆栈跟踪。
有没有办法让我只使用注释机制来获得重定向?
【问题讨论】:
-
为什么在安全上下文文件中有这个还不够?
-
我只是想减少为了创建新的 url 处理程序而必须编辑的位置数量。目前,我必须编辑我的控制器类、我的上下文配置 xml 和 tukey 的 urlrewrite 配置 .xml。这不是一个交易破坏者或任何东西,但如果我能把它减少到两个位置而不是三个,下次它会容易得多。老实说,我更多的是好奇我是否可以在控制器 RequestMappings 上使用方法级别的安全性而不会失去功能。
-
我认为这是不可能的,因为它无法区分由于根本没有登录而导致的失败和由于没有正确权限而导致的失败之间的区别。如果有人知道方法,我愿意犯错!
标签: java spring-mvc spring-security