首先配置注解式拦截器
@Configuration public class SaTokenConfigure implements WebMvcConfigurer { // 注册Sa-Token的注解拦截器,打开注解式鉴权功能 @Override public void addInterceptors(InterceptorRegistry registry){ // 注册注解拦截器,并排除不需要注解鉴权的接口地址 (与登录拦截器无关) registry.addInterceptor(new SaAnnotationInterceptor()).addPathPatterns("/**"); } }
1.1 用户登录访问
用户必须登录了,才能访问,否则登陆时 token无效,登录了token才有效果
controller
@SaCheckLogin @GetMapping("/info") public String info() throws Exception { try { return "查询用户信息"; }catch (Exception e){ throw new Exception("用户未登录!"+e.getMessage()); } }
测试
并没有登录(error),所以在获取loginId的时候为null,也抛出了token失效。
正常登录
// 角色认证:必须具有指定角色才能进入该方法 @SaCheckPermission("super-admin") @GetMapping("/add") public String add(){ return "添加成功"; }
测试
必须用super-admin这个角色才能够添加
将角色放开从新访问
说明:
下面的测试不进行失败的截图了,失败的截图注释掉某个权限或者角色就可以了
1.3权限认证
// 权限认证:必须具有指定权限才能进入该方法 @SaCheckPermission("user-add") @GetMapping("/adds") public String adds() { return "用户增加"; }
二级认证以及http basic认证还在研究 =_=
1.4 二级认证
// 二级认证:必须二级认证之后才能进入该方法 @SaCheckSafe() @GetMapping("/two_add") public String two_add() { return "(二级认证)用户增加"; } }
1.5 Http Basic 认证
// Http Basic 认证:只有通过 Basic 认证后才能进入该方法 @SaCheckBasic(account = "sa:123456") @RequestMapping("/httpBasicAdd") public String httpBasicAdd() { return "(http Basic)用户增加"; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)