Laravel8 快速入门教程二十一 - 用户登录业务完成

100 阅读2分钟

本文由 简悦 SimpRead 转码, 原文地址 juejin.cn

「这是我参与 11 月更文挑战的第 11 天,活动详情查看:2021 最后一次更文挑战

背景

  1. 项目用 Thinkphp5.1 开发完成,对于各种关系模型的查询 Tp 处理起来还是比较吃力的。
  2. 作为努力奔跑的程序员,下一个项目我们决定用 Lavarel 进行开发。
  3. 因为掘金粑粑有奖励,所以把部分 gitee 上的私有的部分学习笔记整理一下。

说明

Laravel 属于中大型框架,各种功能都被内置了,而且 Laravel 官方的文档看的我是云里雾里的,对于新手感觉不是很友好。所以此系列文章只适合有 PHP 基础。想快速入门搞开发的

正文

上一节中我们生成了测试数据,这一节我们完成登录操作。

http://127.0.0.1:8000/login //POST 请求当前 url

此时我们就拿到了 jwt 给我们生成的令牌。我们继续给博客添加的接口追加登录才能操作的权限拦截。

在文件 app\Http\Controllers\BlogController.php 的构造方法中配置中间件拦截。 意思是给 只给 store 方法添加 auth 的 api 权限拦截。

    //实例化
    public function __construct()
    {
        $this->middleware('auth:api', ['only' => ['store']]);
    }
复制代码

编程思想中 中间件是个很通用的方案。就像是一个过滤器,会过滤掉不合理的请求,或者是追加一些数据。系统中其实已经内置了很多中间件,能实现一些拦截,每一个中间件的具体作用还得去啃文档,多学习,这里只是简单的去说明一下。 当我们再次请求的时候,会出现一个错误。提示

这是因为,默认如果没有登录就需要跳转登录页面,我们并没有配置 login,但是我们是 api 方式,不需要跳转,所以我们要修改这部分配置

找到了问题的所在,那么我们下面就对问题进行处理。