08-Security方法安全
Security方法安全
配置类中开启
添加注解 @EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
编写方法
/**
* @title: MethodService
* @projectName springsecurity
* @描述: TODO
* @作者: 小灰灰
* @创建时间 2020-05-1921:59
*/
@Service
public class MethodService {
@PreAuthorize("hasRole('admin')")
public String admin() {
return "hello admin";
}
@Secured("ROLE_user")
public String user() {
return "hello user";
}
@PreAuthorize("hasAnyRole('admin','user')")
public String hello() {
return "hello hello";
}
}
这样就进了接口不一定可以调用里面的方法
在 controller
注入 MthodService 不同接口调用不同业务方法
@RestController
public class HelloController {
@Autowired
private MethodService methodService;
@GetMapping("/hello1")
public String hello1() {
return methodService.admin();
}
@GetMapping("/hello2")
public String admin() {
return methodService.user();
}
@GetMapping("/hello3")
public String user() {
return methodService.hello();
}
}
PostMan测试
本章总结
主要是在Security配置类中 开启方法安全策略,然后在对应的方法 做出对应的角色 什么样的角色可以访问什么样的方法。┏(^0^)┛
源码下载地址:https://github.com/XiaoHuiHuiT/SpringSecurity-case/releases/tag/8.0