spring security 方法安全表达式 使用参数 调用bean 自定义校验方法

2022-07-20 13:38:48 浏览数 (2)

版本

spring security 5.6.6

使用参数

  1. 在鉴权表达式中通过**#参数名**格式引用参数值
  2. 可以通过*@P*注解给参数添加别名
代码语言:javascript复制
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.security.core.parameters.P;

@PreAuthorize("hasAuthority('auth-' #para1 '-' #paraB) and hasPermission(#domainObj,'admin')")
ResultDto call(String para1,
               @P("paraB") String para2,
               MyDomain domainObj);

调用bean

  1. 在鉴权表达式中通过**@beanName.method()**格式调用bean方法
  2. 鉴权用bean方法必须返回布尔值
代码语言:javascript复制
@PreAuthorize("@mySecService.check(#para1)")
ResultDto call(String para1);

0 人点赞