Sa-Token 根据官方文档简单实现登录认证的示例

发布于:2025-02-19 ⋅ 阅读:(28) ⋅ 点赞:(0)

功能实现步骤

依赖

在 SpringBoot 环境集成

在这里插入图片描述

在这里插入图片描述

配置文件

直接把配置文件的东西拷贝到我们自己项目的application.yml即可

在这里插入图片描述

在这里插入图片描述

启动类

启动类我也给加个打印看看

在这里插入图片描述

在这里插入图片描述

创建 controller

创建controller ,直接把代码拷贝来修改就好了

在这里插入图片描述

在这里插入图片描述

启动项目

在这里插入图片描述

测试

不用密码登录

此时登录时失败的

在这里插入图片描述

查看cookie状态

在这里插入图片描述

密码登录

把 sa-token 放进了 cookie 里面了

在这里插入图片描述

查看cookie状态

后续就能根据cookie里面有没有satoken来判断这个用户有没有登录

在这里插入图片描述

修改token名称

token名称是在这里,我们自己定义的

在这里插入图片描述

如图,我就可以把【satoken】改名成我自己想要的名称

在这里插入图片描述

Apipost 测试

因为apipost没有cookie,此时是这样的,登录状态是false

在这里插入图片描述

然后我们再给他在 header 加上cookie参数,携带上cookie之后,登录状态就显示成功

在这里插入图片描述

无 cookie 模式【使用 token】

注意:上面是把 token 放在了 cookie 里面。

传统的 pc 形式,都是登录之后,写入 cookie。前端再次请求的时候,带着 cookie 一个身份识别就可以完成认证。
但是 【小程序、app 】是没有 cookie 这个概念的。
为了更好的扩展,我们就直接选择 token的模式。
将 token 放入 header 来实现用户身份的识别与鉴权。

在这里插入图片描述

现在我们不用 cookie,用纯 token 的方式来实现。

在这里插入图片描述

后端将 token 返回到前端

首先,在前端调用登录接口,请求登录的时候,由后端返回一个token给前端。

在这里插入图片描述

// 官网的示例
// 登录接口
@RequestMapping("doLogin")
public SaResult doLogin() {
    // 第1步,先登录上 
    StpUtil.login(10001);
    // 第2步,获取 Token  相关参数 
    SaTokenInfo tokenInfo = StpUtil.getTokenInfo();
    // 第3步,返回给前端 
    return SaResult.data(tokenInfo);
}
修改代码:

修改下controller的登录代码

在这里插入图片描述

    // 测试登录,浏览器访问: http://localhost:3011/user/doLogin?username=zhang&password=123456
    @RequestMapping("doLogin")
    public SaResult doLogin(String username, String password) {
        // 此处仅作模拟示例,真实项目需要从数据库中查询数据进行比对
        if("zhang".equals(username) && "123456".equals(password)) {
            // 第一步:先登录上
            StpUtil.login(10001);
            // 第二步:获取 token 相关参数
            SaTokenInfo tokenInfo = StpUtil.getTokenInfo();
            // 第三步:把 token 返回给前端
            return SaResult.data(tokenInfo);
        }
        return SaResult.error("登录失败");
    }
测试:
访问登录接口,成功返回【token】

在这里插入图片描述

没有携带 token 查询登录状态

把 cookie 删除后,查询【登录状态】,可以看到是 false

在这里插入图片描述

携带 token 查询登录状态

在这里插入图片描述

前端将 token 提交到后端

在这里插入图片描述

在这里插入图片描述

修改 token 风格和添加前缀

自定义 Token 风格

在这里插入图片描述

自定义 Token 前缀

在这里插入图片描述

在配置文件修改

在这里插入图片描述

测试

在这里插入图片描述

测试:记得前端在提交token时,前缀和token之间需要一个空格

在这里插入图片描述

如果没有,则访问不到

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到