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设计模式的策略模式

    简介: 策略模式又叫做政策模式,用于如何组织和调用算法的,是属于行为型模式的一种。策略模式需要三个角色构成: Context 封装角色:也叫做上下文角色,起承上启下封装作用,屏蔽高层模块对策略、算法的直接访问,封装可能存在的变化。 Strategy 抽象策略角色:通常为接口,指定规则。 ConcreteStrategy 具体策略角色:实现抽象策略中的操作,该…

    PHP 2023年4月19日
    00
  • PHP中如何定义和使用常量

    首先,我们需要了解什么是常量。在PHP中,常量是指值不能被更改的标识符(标识符通常是一个名字),类似于变量,但是常量在程序中是不可改变的。常量的作用是为了在程序中定义一些不可变的值,使程序更加明确和易于维护。 PHP中定义和使用常量的步骤如下: 1.使用define()函数来定义常量define()函数需要两个参数,第一个参数是常量的名称,第二个参数是常量的…

    PHP 2023年5月25日
    00
  • php递归使用示例(php递归函数)

    下面我将详细讲解“PHP递归使用示例(PHP递归函数)”的完整攻略,包含以下内容: 什么是递归函数(Recursive Function) 递归函数的基本用法 递归函数的注意事项 示例:计算斐波那契数列 示例:遍历多层级分类树 1. 什么是递归函数(Recursive Function) 递归函数是指在函数的执行过程中调用了函数本身,从而达到多次执行的目的。…

    PHP 2023年5月27日
    00
  • php 编写安全的代码时容易犯的错误小结

    以下是关于“PHP 编写安全的代码时容易犯的错误小结”的完整攻略: 1. 不安全的输入验证 输入验证是所有Web应用程序的第一道防线。在使用用户输入时,必须对所有用户输入进行必要的验证。不管是表单提交还是用户传入的参数,都必须进行正确的验证。 以下是常见的不安全的输入验证错误: 没有对数据长度进行正确的验证,导致缓冲区溢出; 没有对用户输入的类型进行正确的验…

    PHP 2023年5月23日
    00
  • Windows下安装PHP单元测试环境PHPUnit图文教程

    下面是“Windows下安装PHP单元测试环境PHPUnit图文教程”的完整攻略: 安装Composer PHPUnit是使用PHP编写的,而Composer是PHP的依赖管理工具,所以需要先安装Composer,具体安装过程如下: 1.下载Composer-Setup.exe,打开官网 https://getcomposer.org/download/ 进…

    PHP 2023年5月30日
    00
  • php结合表单实现一些简单功能的例子

    下面是完整攻略: 一、需求说明 本例子旨在通过 PHP 结合表单实现一些简单功能。具体来说,我们将要完成以下两个功能: 用户注册:用户通过在表单中输入用户名和密码,点击注册按钮实现用户注册功能。 留言板:用户通过在表单中输入留言内容,点击提交按钮实现留言功能。 二、实现步骤 1. 安装环境 首先,我们需要在本地安装 PHP 环境。这里以 XAMPP 为例,具…

    PHP 2023年5月27日
    00
  • 微信小程序授权登录及解密unionId出错的方法

    微信小程序授权登录及解密unionId出错的方法 微信小程序授权登录已成为现代互联网应用中常见的用户验证方式。在实际开发中,如果不正确地处理用户信息,就会遇到unionId解密出错的问题。本文将详细介绍微信小程序授权登录和解密unionId的方法,解决授权登录和unionId解密出错的问题。 1. 授权登录示例 1.1 准备工作 为了实现微信小程序授权登录,…

    PHP 2023年5月30日
    00
  • php实现简单文件下载的方法

    下面是实现简单文件下载的方法攻略。 1. 准备下载文件 首先,需要确定要下载的文件及其路径。为确保下载路径有效,可以通过以下代码检查文件是否存在: if (file_exists($filepath)) { // 进行文件下载操作 } else { // 文件不存在,给出提示信息或者跳转到错误页面 } 2. 设置下载头信息 在进行文件下载之前,需要设置文件类…

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