创建spring security项目请自行百度搜索。
想要使用注解级的权限管理,也就是@PreAuthorize, @PostAuthorize, @PreFilter, 和@PostFilter这几个放在Controller和Service的方法上使用,需要预先添加一个配置,配置内容如下:
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.method.configuration.EnableReactiveMethodSecurity;
@Configuration
@EnableReactiveMethodSecurity() // 这个就是启用方法级注解的注释
public class MethodSecurityConfig {
}以下是某一个Controller中使用方式,记住需要以Mono类型进行返回:
...
@GetMapping
@PreAuthorize("hasRole('ADMIN')")
public Mono<List<UserInfo>> getUserInfoList(UserInfo user) {
LambdaQueryWrapper<UserInfo> lqw = Wrappers.lambdaQuery(user);
return Mono.just(userInfoService.getUserInfoList(lqw));
}
...在自定义的用户登录中设置角色,部分代码如下图

评论 (0)