Laravel 5.3 使用内置的 Auth 组件实现多用户认证功能以及登陆才能访问后台的功能的一种实现方法

本文详细介绍了如何在 Laravel 5.3 中使用内置的 Auth 组件实现多用户认证,包括前台和后台的认证流程,并展示了如何设置登录后才能访问后台的功能。通过数据库配置、路由、控制器和视图的调整,实现了管理员和普通用户的数据隔离及权限管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

在开发中,我们经常会遇到多种类型的用户的认证问题,比如后台的管理员和前台的普通用户。Laravel 5.3 内置的 Auth 组件已经能很好的满足这项需求,下面大概记录下使用方法。
另外,后台页面常常需要登录才能访问,为了完成类似的功能,大家一般都习惯创建新的中间件来实现。但是 Auth 组件已经存在类似的中间件,我们可以在已有的基础上进行完善,具体请看 后台认证 -> 登陆才能访问后台的功能的一种实现方法
注意:这里我们只考虑管理员和普通用户存放在不同的表中的情况

创建项目

创建项目 E:\PhpStormProjects>composer create-project --prefer-dist laravel/laravel blog
进入项目 E:\PhpStormProjects>cd blog
运行项目 E:\PhpStormProjects\blog>php arstisan serve
看看效果 浏览器访问http://localhost:8000

项目配置

数据库配置 .env 中配置 DB 相关选项即可

前台认证

数据库迁移 E:\PhpStormProjects\blog>php artisan migrate
生成 Auth E:\PhpStormProjects\blog>php artisan make:auth

该命令应该在新安装的应用下使用,它会生成 layout 布局视图,注册和登录视图,以及所有的认证路由,同时生成 HomeController ,用来处理登录成功后会跳转到该控制器下的请求。

浏览器访问 http://localhost:8000
我们看到右上角多了 LOGIN 和 REGISTER 的链接,我们可以试着注册和登陆。
至此,前台认证完成。

后台认证

后台首页显示

生成后台首页控制器 E:\PhpStormProjects\blog>php artisan make:controller Admin/IndexController
建立后台首页的视图 resources/views/admin/index.blade.php

<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>首页 | 后台系统</title>
</head>
<body>
    <h3>首页</h3>
</body>
</html>

后台首页控制器 app/Http/Controllers/Admin/IndexController.php 添加方法

public function index()
{
   
    return view('admin/index');
}

路由文件 routes/web.php 添加路由组

Route::group(['prefix' => 'admin'], function () {
    Route::get('/', 'Admin\IndexController@index');
});

浏览器访问 http://localhost:8000/admin 可看到后台首页
后台首页显示完成

管理员数据表生成、数据表模型建立以及数据表填充

生成管理员数据表迁移文件 E:\PhpStormProjects\blog>php artisan make:migration create_administrators_table
修改 database/migrations/*_create_administrators_table.php 中的 up() 与 down() 方法

public function up()
{
    Schema::create('administrators', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('email')->unique();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
    });
}

public function down()
{
    Schema::drop('administrators');
}

生成数据表 E:\PhpStormProjects\blog>php artisan migrate
至此,数据表建立
生成数据表模型 E:\PhpStormProjects\blog>php artisan make:model Models/Administrator
修改 app/Models/Administrator.php

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值