主页 > 软件开发  > 

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

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

Sa-Token 根据官方文档实现登录鉴权测试 功能实现步骤依赖配置文件启动类创建 controller启动项目测试不用密码登录查看cookie状态 密码登录查看cookie状态 修改token名称 Apipost 测试无 cookie 模式【使用 token】后端将 token 返回到前端修改代码:测试:访问登录接口,成功返回【token】没有携带 token 查询登录状态携带 token 查询登录状态 前端将 token 提交到后端 修改 token 风格和添加前缀测试

功能实现步骤 依赖

在 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之间需要一个空格

如果没有,则访问不到

标签:

Sa-Token根据官方文档简单实现登录认证的示例由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Sa-Token根据官方文档简单实现登录认证的示例