Java 外部加载的Spring MVC权限

Java 外部加载的Spring MVC权限,java,spring,security,permissions,authority,Java,Spring,Security,Permissions,Authority,我正在使用SpringMVC4,我有一些rest服务。 其中一些方法的注释如下: @PreAuthorize("hasAnyAuthority('myAuth1', 'myAuth2', 'myAuth3')") 那么,您知道是否有方法从外部方法加载我的权限(“myAuth1”、“myAuth2”、“myAuth3”)(可能是从DB加载的) 大概是这样的: @PreAuthorize("hasAnyAuthority(getExtAuthForService('myService'))")

我正在使用SpringMVC4,我有一些rest服务。 其中一些方法的注释如下:

@PreAuthorize("hasAnyAuthority('myAuth1', 'myAuth2', 'myAuth3')")
那么,您知道是否有方法从外部方法加载我的权限(“myAuth1”、“myAuth2”、“myAuth3”)(可能是从DB加载的)

大概是这样的:

@PreAuthorize("hasAnyAuthority(getExtAuthForService('myService'))")
谢谢大家 祝你今天愉快


Fabrizio

您可以在URL级别的java安全配置中配置权限,而不是在方法上添加注释。在安全配置中,您可以从数据库中检索权限。但我必须为所有控制器的所有方法配置权限。。这并不是很“漂亮”,你可以根据访问情况在你的控制器中划分方法。然后,如果/controller1/method1和/controller1/method2需要相同的访问权限,那么在SecurityConfig中,您将在/controller1/*上设置访问权限。最后,您将有N个配置,其中N是控制器的数量。如果不可能,那么您可以检查方法内的权限,并调用服务以获取所需的权限。您可以在URL级别的java安全配置中配置权限,而不是在方法上添加注释,在安全配置中,您可以从数据库检索权限。但我必须为所有控制器的所有方法配置权限。。这并不是很“漂亮”,你可以根据访问情况在你的控制器中划分方法。然后,如果/controller1/method1和/controller1/method2需要相同的访问权限,那么在SecurityConfig中,您将在/controller1/*上设置访问权限。最后,您将有N个配置,其中N是控制器的数量。如果这是不可能的,那么您可以检查方法内部的权限,并调用服务以获取它所需的权限。