laravel5.5前后台登录认证实现过程详解

本文详细介绍了在Laravel5.5中实现前后台登录认证的过程,包括理解认证原理、生成认证脚手架、配置guards和providers、创建后台管理员模型、数据库操作、创建控制器、自定义中间件以及注册路由等步骤。

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

认证原理
     Laravel 的认证组件由 guards 和 providers 组成,guard 定义了用户在每个请求中如何实现认证,例如,Laravel 通过session guard 来维护 Session 存储的状态和 Cookie。provider 定义了如何从持久化存储中获取用户信息,laravel 底层支持通过 Eloquent 和数据库查询构建器两种方式来获取用户。
     了解了它的认证原理,那么让我们开始去实现前后台登录认证吧。前台的认证使用默认的就好,这里主要讲怎么在有前台认证的情况下同时实现后台验证。

1、生成laravel自带的认证脚手架
     $ php artisan make:auth
     以上命令将自动生成auth模板文件夹和layouts模板文件夹以及路由信息:
        Auth::routes();
        Route::get('/home', 'HomeController@index')->name('home');

2、修改config/auth.php配置,添加后台认证信息
    2.1 在 gurads 处,添加 admin guard 用于后台管理员认证
        'admin' => [
            'driver' => 'session',
           'provider' => 'admins',
        ],
    2.2 在 providers 处添加 admins provider,使用 Admin 模型
        'admins' => [
            'driver' => 'eloquent',
            'model' => App\Http\Model\Admin\Admin::class,
        ],

3、创建后台管理员模型
    $ php artisan make:model Http/Model/Admin/Admin -m
    //-m 参数会同时生成数据库迁移文件 xxx_create_admins_table
    //等同于
    //php artisan make:model Admin
    //php artisan make:migration creaet_admins_table

4、修改数据库迁移文件xxx _create_admins_table
    Schema::create('admins', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('email')->unique();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
   });

5、创建表并生成临时数据
    5.1 database/factories/ModelFactory.php, 添加数据:
        $factory->define(App\Http\Model\Admin\Admin::class, function (Faker\Generator $faker) {
            static $password;

            return [
                'name' => $faker->name,
                'password' => $password ?: $password = bcrypt('123456'),
                'email' =>  $faker->email,
                'remember_token' => str_random(10),
            ];
        });
    5.2 生成数据方式1---使用tinker:
        $ php artisan tinker
        use App;
        factory(App\Http\Model\Admin\Admin::class,5)->create();//3表示生成3条测试数据
    5.3 方式2---在 database/seeds 目录下生成 AdminsTableSeeder.php 文件
        $ php artisan make:seeder AdminsTableSeeder
        编辑该文件
          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值