laravel5.6 自定义后台(管理员)登录

使用Laravel 自带的登录再加以修改,就能够实现了.

运行命令行:php artisan make:auth  

首先,我们需要确定登录所需要的数据,我用的是账号加密码(以此为例):

1.建立admins 数据表中,添加字段 id  name number password.

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

OK ,这样我们执行php artisan migrate,进行数据迁移.

我们需要建立一个admin模型:

在app下面新建Models文件夹,然后php artisan make:model Models/Admin

在做完这一步之后,不要忘了填充数据(空数据怎么测试啊..............),直接上代码:

AdminFactory.php(database/dactories文件下新建)--------php artisan make:factory AdminFactory

$factory->define(App\Models\Admin::class, function (Faker $faker) {
    return [
        //
        'number' => rand(11111,22222),
        'name' => $faker->name,
        'password'=>'$2y$10$3K3BbMFSkvF70tZ4/WHDv.vF4B8fAPKyDk9Yw7RPMAy.09YAH/11K',
    ];
});

AdminsTableSeeder.php(database/seeds文件夹下新建)---------php artisan make:seeder AdminsTableSeeder

    public function run()
    {
        //
        factory(App\Models\Admin::class,5)->create();
    }

在DatabaseSeeder.php中:

    public function run()
    {
        // $this->call(UsersTableSeeder::class);
        $this->call(AdminsTableSeeder::class);
    }

emmmmmm............执行php artisan db:seed  这样就可以将数据添加进去了....

我们还要修改一下配置:

config/auth.php:

'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\Models\Admin::class,
        ],

services.php:

    'stripe' => [
        'model' => App\Models\Admin::class,
        'key' => env('STRIPE_KEY'),
        'secret' => env('STRIPE_SECRET'),
    ],

是在原有的基础上进行修改.

之前已经生成页面,所以我们要对页面中的数据进行修改:原来的是email,我们要将它改成number.

   

错误提示信息也要进行修改,就是改一下名字,这就不多说了.

这样我们去LoginController中:

middleware('guest')->except('logout');
    }

    public function logout()
    {
        Auth::logout();
        return redirect('/login');
    }

    public function username (){
        return 'number';
    }
}

web.php

Route::get('/login', function () {
    if (Auth::check()) {
        return redirect('/redirect');
    }
    return view('auth.login');
});

Auth::routes();
// Admin 登录后重定向
Route::group(['middleware' => ['web', 'auth']], function () {
    Route::get('/redirect', 'HomeController@index');
});

RedirectIfAuthenticated.php:

    public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {
            return redirect('/redirect');
        }

        return $next($request);
    }

这样就可以完成一个简单地登录了.

你可能感兴趣的:(笔记)