Spring Security中@PreAuthorize和@PostAuthorize有什么区别

Ani*_*Das 5 spring spring-security spring-boot

在访问任何数据之前需要评估条件,两种不同授权方法的目的是什么?

Ani*_*Das 5

@预授权:

顾名思义@PreAuthorize,可以在进入方法之前检查授权。@PreAuthorize基于角色或传递给方法的参数进行授权。

  • 基于角色或传递给方法的参数

@PostAuthorize:

顾名思义@PostAuthorize,方法执行后会检查授权。@PostAuthorize基于登录角色进行授权,按方法返回对象并将参数传递给方法。对于返回的对象,spring security提供了内置关键字returnObject。

  • 基于登录的角色,按方法返回对象并将参数传递给方法