@PreAuthorize
时间: 2023-10-20 13:35:08 浏览: 112
`@PreAuthorize` 是 Spring Security 框架中的一个注解,用于在方法级别上进行访问控制的权限验证。通过在方法上添加 `@PreAuthorize` 注解,可以指定一系列的权限表达式,只有符合这些表达式的用户才能够访问该方法。该注解通常与 `@Controller` 或 `@Service` 注解一起使用。
例如,下面的代码展示了一个使用了 `@PreAuthorize` 注解的示例:
```java
@RestController
public class MyController {
@PreAuthorize("hasRole('ROLE_ADMIN')")
@GetMapping("/admin")
public String adminOnly() {
return "Only admins can access this endpoint";
}
@PreAuthorize("hasAnyRole('ROLE_ADMIN', 'ROLE_USER')")
@GetMapping("/user")
public String userOnly() {
return "Both admins and users can access this endpoint";
}
}
```
在上述示例中,`adminOnly()` 方法只允许具有 "ROLE_ADMIN" 角色的用户访问,而 `userOnly()` 方法允许具有 "ROLE_ADMIN" 或 "ROLE_USER" 角色的用户访问。
注意:`@PreAuthorize` 注解需要与 Spring Security 配置一起使用才能生效。
阅读全文
相关推荐









