【Sa-Token】4、Sa-Token开启注解式鉴权

简介: 前面我们已经介绍了路由式的鉴权方式,即就是拦截需要鉴权的 API 路径,允许哪些能够匿名访问,哪些必须要登录后才能访问,本篇文章介绍,如何使用 “注解式” 鉴权方式

前面我们已经介绍了路由式的鉴权方式,即就是拦截需要鉴权的 API 路径,允许哪些能够匿名访问,哪些必须要登录后才能访问,本篇文章介绍,如何使用 “注解式” 鉴权方式

1、开启注解式鉴权

/**
 * 注册拦截器
 *
 * @param registry
 */
@Override
public void addInterceptors(InterceptorRegistry registry) {
    // 注册登录拦截器
    registry.addInterceptor(new SaTokenLoginInterceptor())
            // 需要拦截的路径
            .addPathPatterns("/**")
            // 不需要拦截的路径
            .excludePathPatterns(
                    // 获取验证码
                    "/kaptcha-image",
                    // 登录
                    "/login",
                    // 登出
                    "/logout",
                    // 开发文档
                    "/doc.html", "/webjars/**", "/v2/api-docs/**", "/swagger-resources/**", "/favicon.ico"
            );
    // 注册注解拦截器
    registry.addInterceptor(new SaAnnotationInterceptor())
            // 需要拦截的路径
            .addPathPatterns("/**");
}

同样在我们配置登录拦截器的地方,配置注解式鉴权拦截器,注册 SaAnnotationInterceptor 拦截器即可

2、注解举例

// 登录认证:只有登录之后才能进入该方法 
@SaCheckLogin                        
@RequestMapping("info")
public String info() {
    return "查询用户信息";
}
// 角色认证:必须具有指定角色才能进入该方法 
@SaCheckRole("super-admin")        
@RequestMapping("add")
public String add() {
    return "用户增加";
}
// 权限认证:必须具有指定权限才能进入该方法 
@SaCheckPermission("user-add")        
@RequestMapping("add")
public String add() {
    return "用户增加";
}
// 二级认证:必须二级认证之后才能进入该方法 
@SaCheckSafe()        
@RequestMapping("add")
public String add() {
    return "用户增加";
}

这样,我们就能在 API 接口上进行鉴权了

目录
相关文章
|
6月前
sa-token实现网关调用认证服务统一鉴权
sa-token实现网关调用认证服务统一鉴权
363 0
|
前端开发
【Sa-Token】7、Sa-Token抛出的异常统一处理
在 Sa-Token 的登录,授权,验证过程中,会抛出很多的异常,我们不能将这些异常信息直接返回给用户,因为用户是看不懂这些异常信息的,我们就需要对这些异常信息进行处理,处理之后再返回展示给前端用户
1273 0
|
缓存 NoSQL 中间件
【Sa-Token】6、Sa-Token集成Redis
Sa-Token 支持 Redis、Memcached 等专业的缓存中间件中, 做到重启数据不丢失,而且保证分布式环境下多节点的会话一致性
1599 0
|
4月前
|
安全 NoSQL Java
JWT和Security 登录权限判断和token访问和让token失效
JWT和Security 登录权限判断和token访问和让token失效
|
6月前
|
存储 缓存 NoSQL
【视频+源码】登录鉴权的三种方式:token、jwt、session实战分享
【视频+源码】登录鉴权的三种方式:token、jwt、session实战分享
126 1
|
11月前
|
缓存 前端开发 fastjson
Sa-Token中SerializationException
Sa-Token中SerializationException
76 1
|
11月前
Sa-Token
Sa-Token
62 0
|
缓存 安全 NoSQL
SpringBoot 如何使用 Sa-Token 完成权限认证?
SpringBoot 如何使用 Sa-Token 完成权限认证?
335 0
sa-token 路由拦截式鉴权
sa-token 路由拦截式鉴权
660 0
|
存储 缓存 前端开发
SpringBoot集成Sa-Token进行鉴权
SpringBoot集成Sa-Token进行鉴权