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

105 阅读2分钟

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

「这是我参与 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. 博客类中继承当前基类

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