Laravel搭建后台登录系统步骤详解

Laravel是一种流行的PHP框架,被广泛用于开发Web应用。本攻略将介绍如何使用Laravel框架搭建后台登录系统。

步骤1:创建Laravel应用程序

要开始使用Laravel框架,你需要在本地计算机上安装PHP和Composer。然后,使用Composer创建一个新的Laravel项目。

安装Composer后,按照以下命令创建Laravel项目:

composer create-project laravel/laravel myProject

运行该命令后,Laravel将在名为“myProject”的文件夹中创建一个新的项目。

步骤2:创建用户表

创建一个名为“users”的表,以存储用户登录信息。你可以使用以下迁移脚本创建此表:

php artisan make:migration create_users_table --create=users

运行该命令后,在/database/migrations目录中创建了一个新的迁移脚本。编辑此脚本以定义用户表的结构:

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

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

    public function down()
    {
        Schema::dropIfExists('users');
    }
}

在该迁移脚本中,我们定义了一个包含五个字段的“users”表。分别是id、name、email、password和remember_token。运行以下命令执行迁移脚本:

php artisan migrate

成功执行迁移脚本后,将在数据库中创建“users”表。

步骤3:创建用户认证功能

Laravel提供了内置的用户认证功能。我们可以使用这些功能来创建后台登录系统。运行以下命令创建用户认证功能:

php artisan make:auth

运行该命令后,Laravel将在程序中创建一个名为“Auth”的控制器和视图文件,用于处理用户认证。

步骤4:设置默认控制器

Laravel将默认控制器设置为“WelcomeController”。我们需要将默认控制器更改为Auth控制器。打开/routes/web.php文件,在文件中添加以下代码:

Route::get('/', function () {
    return redirect('/login');
});

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

在该文件中,我们在路由中添加了一个名为“home”的路由,用于显示用户登录后的主页。接下来,将“Auth”控制器设置为默认控制器。打开/app/Http/Controllers/WelcomeController.php文件,并将其编辑为以下内容:

<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\Auth;

class WelcomeController extends Controller
{
    public function index()
    {
        if (Auth::check()) {
            return redirect('/home');
        }

        return view('auth.login');
    }
}

在该文件中,我们使用check方法检查用户是否登录。如果用户已登录,则直接重定向到主页;否则,将用户重定向到登录页面。

步骤5:测试登录

现在我们已经完成了后台登录系统的设置。只需要运行程序并测试登录功能。命令如下:

php artisan serve

Laravel将为程序启动Web服务器,并在本地主机上启动应用程序。在Web浏览器中输入http://localhost:8000/login URL地址即可在登录页面中输入凭据。

打开程序并进行登录时,你将被重定向到显示用户信息的主页。在成功登录后将在数据库中创建一个新的记录,以保存用户数据。

示例1:Laravel中添加邮箱验证

添加邮箱验证的好处是避免用户忘记Login密码时无法找回。我们可以使用Laravel内置的邮箱验证,来验证新注册用户的邮箱。

步骤1:生成邮箱验证必需的静态页面

在Laravel执行如下命令生成邮箱验证的必需的静态页面:

php artisan make:auth

步骤2:在用户表里添加email_verified_at字段

编辑2014_10_12_000000_create_users_table.php,添加email_verified_at字段:

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

步骤3:在RegisterController中添加sendEmailVerificationNotification方法

打开app/Http/Controllers/Auth/RegisterController.php文件,在类中添加如下方法即可完成邮箱验证:

namespace App\Http\Controllers\Auth;

use App\Models\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;

class RegisterController extends Controller
{
    use RegistersUsers;

    protected $redirectTo = '/home';

    public function __construct()
    {
        $this->middleware('guest');
    }

    protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => ['required', 'string', 'max:255'],
            'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
            'password' => ['required', 'string', 'min:8', 'confirmed'],
        ]);
    }

    protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => Hash::make($data['password']),
        ]);
    }

    public function sendEmailVerificationNotification($user)
    {
        $user->sendEmailVerificationNotification();
    }
}

示例2:自定义认证登录后的Settings页

在Auth控制器的home()方法中可以作如下操作,以实现登录后直接进入Settings页:

public function home()
{
    if (Auth::guest()) {
        return redirect('/login');
    }

    if (!empty(Auth::user()->password)) {
        return redirect('/settings');
    } else {
        return view('auth.passwords.reset');
    }
}

在Laravel控制器中,我们可以使用Auth类检查用户是否已经登录,并使用Auth::user()获取当前认证的用户对象。使用上述方法进行判断,若存在password字段,跳转到设置页面;否则,跳转到密码重置页面。在路由文件中添加settings路由,这是访问Settings页面的唯一入口:

Route::get('/settings', function () {
    return view('settings');
})->middleware('auth');

Route::get('/home', 'Auth\HomeController@home')->name('home');

上述routes/web.php中home路由在我们上文中有提到,它会被重定向到Auth控制器中的home()方法中。在该方法中使用我们上面的代码进行处理,最终跳转到/settings URL访问Settings页面。

以上就是Laravel搭建后台登录系统步骤详解的完整攻略,包括了创建Laravel应用程序、创建用户表、创建用户认证功能、设置默认控制器和测试登录等步骤。同时,该攻略还提供了两个示例说明,分别介绍如何添加邮箱验证和自定义认证登录后的Settings页。若仍有疑问可以在讨论区继续交流。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Laravel搭建后台登录系统步骤详解 - Python技术站

(0)
上一篇 2023年5月24日
下一篇 2023年5月24日

相关文章

  • PHP 输出简单动态WAP页面

    下面是 PHP 输出简单动态 WAP 页面的完整攻略: 步骤一:建立 HTML 基础模板 首先,我们需要建立一个干净简单的 HTML 基础模板。这个模板我们需要包含以下基本内容: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &lt…

    PHP 2023年5月23日
    00
  • 微信小程序选择图片控件

    下面是关于微信小程序选择图片控件的完整攻略: 1. 前置知识 在开始介绍“微信小程序选择图片控件”的完整攻略之前,需要了解以下几点前置知识: 微信小程序基础语法和组件的使用; 微信小程序的开发环境和调试工具; 微信小程序的 API 接口和 SDK。 如果你对以上知识点还不太熟悉,可以参考微信小程序的官方文档进行学习。 2. 微信小程序选择图片控件介绍 微信小…

    PHP 2023年5月23日
    00
  • php7 新增功能实例总结

    PHP7 新增功能实例总结 PHP7是PHP语言的一次重大更新版本,引入了许多新特性和改进。本文将对PHP7的新特性进行总结并给出实例演示。 Scalar类型声明 PHP7引入了标量类型声明,允许函数的参数和返回值指定强类型。标量类型包括int,float,bool和string。 function add(int $a, int $b) : int { r…

    PHP 2023年5月26日
    00
  • PHP数组访问常用方法解析

    PHP数组访问常用方法解析 一、读取数组元素 PHP数组可以使用下标来访问数组元素。下标是数组中用于标识元素位置的索引,可以是整数或字符串类型。 1.通过下标读取元素 以下是通过下标读取数组元素的语法: $arrayName[index] 其中,$arrayName表示数组名,index是下标。如果index为整数,则表示读取数组中的第index个元素;如果…

    PHP 2023年5月26日
    00
  • 小程序登录之支付宝授权的实现示例

    小程序登录之支付宝授权的实现示例 一、前言 小程序是当前互联网开发的热点之一,用户进入小程序需要登录授权才能使用,而支付宝作为移动支付的龙头,支持用户使用支付宝账号在小程序中进行登录授权,本文将详细介绍小程序登录之支付宝授权的实现示例。 二、示例说明 示例一:小程序登录流程 小程序登录一般分为以下几步: 1.用户进入小程序,点击登录按钮。 2.小程序弹出登录…

    PHP 2023年5月23日
    00
  • php+MySql实现登录系统与输出浏览者信息功能

    实现登录系统和输出浏览者信息是 Web 开发中非常基础的功能,可以通过 PHP 和 MySQL 来完成。 创建数据库和用户表 首先,需要创建一个 MySQL 数据库,然后创建一个用户表,包含用户名和密码的字段。可以使用以下 SQL 语句创建: CREATE DATABASE `user_db`; USE `user_db`; CREATE TABLE `us…

    PHP 2023年5月26日
    00
  • php判断数组中是否存在指定键(key)的方法

    在PHP中,我们可以使用array_key_exists()函数判断一个数组中是否存在指定的键(key)。 该函数的语法如下: bool array_key_exists ( mixed $key , array $array ) 其中,$key 表示要查找的键,$array 表示要查找的数组。 该函数返回一个布尔值,表示查找结果,存在返回true,不存在返…

    PHP 2023年5月26日
    00
  • PHP 文件系统详解

    PHP 文件系统详解 PHP 是一种服务器端脚本语言,与服务器的文件系统交互是 PHP 应用的重要组成部分。PHP 文件系统提供了一系列函数来处理文件和目录,包括查找、读取、写入、创建、删除等操作,本文将详细介绍这些功能。 目录操作 查找目录 使用 opendir() 函数打开目录,然后使用 readdir() 函数读取目录中所有文件和子目录的名称,并将每个…

    PHP 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部