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

33 篇文章 1 订阅

前面我们已经介绍了路由式的鉴权方式,即就是拦截需要鉴权的 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 接口上进行鉴权了

如您在阅读中发现不足,欢迎留言!!!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringCloud是基于Spring框架的分布系统开发框架,它提供了丰富的分布系统解决方案。而Sa-Token是一个轻量级的Java权限认证与授权框架,提供了简单易用的权限控制功能。 在SpringCloud中整合Sa-Token可以为我们的分布系统提供更加安全可靠的权限认证与授权机制。具体步骤如下: 1. 在SpringCloud的微服务架构中,将Sa-Token配置为一个独立的授权认证中心,可以独立部署,也方便对其进行管理和维护。 2. 在每个微服务中引入Sa-Token的依赖,通过配置Sa-Token的相关属性,实现微服务的用户登录与认证。同时,可以使用Sa-Token提供的注解进行权限控制,例如@RequiresPermissions注解可以对接口或方法进行权限校验。 3. 在微服务之间进行访问时,可以通过Sa-TokenToken验证机制,对调用方进行身份认证。因此,每个微服务需要验证并解析Token,以确保请求方的合法性。 4. Sa-Token提供了灵活的权限授权机制,可以根据业务需求配置不同的角色和权限管理。在SpringCloud中,我们可以根据微服务的不同职能划分角色,为每个角色分配相应的权限。通过角色与权限的配置,实现对不同微服务接口的精确控制。 通过将Sa-Token整合到SpringCloud中,我们可以实现整个系统的统一权限管理。无论是对用户的认证与授权,还是对接口的权限控制,都可以通过Sa-Token轻松实现。这不仅提高了系统的安全性,同时也简化了系统的开发与维护工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值