如何在Spring Boot中创建自定义@PreAuthorize MethodSecurity ?



我正在开发一个Spring Boot应用程序。我在那个程序中有一些权限检查在控制器方法中检查。例如,有一些检查方法来检查是否有重复的记录,是否登录了用户或成员等等。所以我想的是我需要移到@PreAuthorize。那么我如何创建自定义方法来执行这些重复验证和成员验证,并通过@PreAuthorize使用它们呢?我知道这些重复检查可以在其他任何地方完成,但我个人需要使用@PreAuthorize。有人能帮我吗?我真的很感激。

可以使用自定义表达式@PreAuthorise

@PreAuthorize("isDuplicate(#id)")
@GetMapping("/organizations/{id}")
@ResponseBody
public Organization findOrgById(@PathVariable long id) {
return organizationRepository.findOne(id);
}

public boolean isDuplicate(Long OrganizationId) {
// add your logic here to check duplicates or any validation
}

更多信息请参考https://www.baeldung.com/spring-security-create-new-custom-security-expression

最新更新