使用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);
}
这样就可以完成一个简单地登录了.