Java 使用SpringMVC的控制器方法上的ACL权限

Java 使用SpringMVC的控制器方法上的ACL权限,java,spring-mvc,acl,rights,Java,Spring Mvc,Acl,Rights,我试图在用户访问某个页面时检查一些权限,并在我没有良好权限时将其重定向到错误页面(特定于控制器)。 我知道Spring安全性和预/后授权注释,但我的应用程序不需要任何登录表单,更不用说UserService了 我的权限是通过注入用户上下文(结合一些数据创建用户权限)来定义的 所以我的想法是用“权限”注释对Spring Controller方法进行注释,并创建一个注释处理器,根据请求验证用户权限(如果没有权限,则重定向他)。 如何使用Spring MVC声明此注释处理器是个好主意吗?为什么不能使用

我试图在用户访问某个页面时检查一些权限,并在我没有良好权限时将其重定向到错误页面(特定于控制器)。 我知道Spring安全性和预/后授权注释,但我的应用程序不需要任何登录表单,更不用说UserService了

我的权限是通过注入用户上下文(结合一些数据创建用户权限)来定义的

所以我的想法是用“权限”注释对Spring Controller方法进行注释,并创建一个注释处理器,根据请求验证用户权限(如果没有权限,则重定向他)。
如何使用Spring MVC声明此注释处理器是个好主意吗?

为什么不能使用Spring安全性?您基本上是在描述大多数SSO的工作方式……传入一些预验证数据,让应用程序服务器知道您已经对用户进行了验证。那么您就不必编写任何自定义注释了。好的,我应该创建和配置哪些处理程序来实现这一点(自定义角色验证/自定义访问被拒绝处理程序)?我已经有一段时间没有自己这么做了,但我认为您需要创建一个自定义的
AbstractAuthenticationProcessingFilter
,也可以创建一个自定义的
AbstractUserDetailsAuthenticationProvider
,它将使用从远程应用程序传入的凭据对用户进行身份验证。其余的应该使用标准的Spring安全机制。