Spring Security-@PreAuthorize 权限注解
@PreAuthorize注解会在方法执行前进行权限验证,支持Spring EL表达式,它是基于方法注解的权限解决方案。只有当@EnableGlobalMethodSecurity(prePostEnabled=true)的时候,@PreAuthorize才可以使用,@EnableGlobalMethodSecurity注解在SPRING安全中心进行设置,如下:
/**
* SPRING安全中心
*/
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
}
eg:
@PreAuthorize("hasPermission(#deptId,'Estate_Integration_Plan_Plan','ModifyAll') or hasPermission(#deptId,'Estate_Integration_Plan_Plan','ModifySelf')")
#deptId,'Estate_Integration_Plan_Plan','ModifyAll'
根据deptId来方面判断 Estate_Integration_Plan_Plan是否拥有 ModifyAll或者ModifySelf的权限。