Laravel8 快速入门教程二十六-管理后台接口权限

268 阅读2分钟

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

背景

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

说明

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

开始之前

上一章节中,我们完成了后台获取博客数据列表,审核通过博客的接口。但是没有对这两个接口设置权限,这会导致任何人都能修改我们的数据。这肯定是不行的。我们只能让管理人员登录完成以后才能进行相关操作。

分析

在前端的发布博客接口中,我门是使用了中间件,定义那一个接口需要登录权限。 但是对于管理后台来说,除了登录操作。其余所有操作都应该是有权限控制的。那样我们就得在每一个文件中都定义中间件么?

其实我们只需要提取出父类,定义好规则。其余子类中直接进行使用就行。还是编程中的继承的思想。

开始

  1. 创建管理后台基类
<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class BaseController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth:admin',['except'=>['login']]);
    }
}

  1. 博客类中继承当前基类

image.png

这样,所有的操作都需要密钥了。没有密钥的非法请求就会被拦截掉。