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

posted @ 2020-05-19 22:11  Leader_TBlog  阅读(122)  评论(0编辑  收藏  举报