之前实现了一次,后来代码忘记放哪了,所以有跳了一次坑。

先贴上Laravel自带的验证代码:

路由:routes/web.php

// Authentication Routes...
$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
$this->post('login', 'Auth\LoginController@login');
$this->post('logout', 'Auth\LoginController@logout')->name('logout'); // Registration Routes...
$this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
$this->post('register', 'Auth\RegisterController@register'); // Password Reset Routes...
$this->get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
$this->post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
$this->get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
$this->post('password/reset', 'Auth\ResetPasswordController@reset'); // After Login...
Route::get('/home', 'HomeController@index')->name('home');

中间件:config/auth.php(默认的用户认证配置文件auth.php,配置如下)

<?php
return [
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
],
'passwords' => [
'users' => [
'provider' => 'users',
'email' => 'auth.emails.password',
'table' => 'password_resets',
'expire' => 60,
],
],
];

控制器:

app/Http/Controllers/Auth/RegisterController.php

app/Http/Controllers/Auth/LoginController.php

app/Http/Controllers/Home/HomeController.php

等等...

Table表: users

CREATE TABLE `mgshop_users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

Model:app/User.php

namespace App;

use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContracts; class User extends Model implements AuthenticatableContracts
{
use Authenticatable; protected $table = 'users';//'user';//设置表名
protected $primaryKey = 'id';//'UserID';//设置主键
public $timestamps = false;
protected $fillable = ['name','email','password'];//开启白名单字段
}

该验证仅需执行下面命令即可生成对应数据库表及代码

php artisan make:auth

参考Laravel 5.3 多用户表登录实现:http://laravelacademy.org/post/5925.html

最新文章

  1. Entity Framework 6连接Postgresql、SQLite、LocalDB的注意事项和配置文件
  2. 剑指Offer面试题:33.二叉树的深度
  3. WebForm(四)——Repeater控件(重要、好用)
  4. C#学习笔记-输入数据判断(int、double、string)
  5. jquery取消超链接
  6. Cloudera Impala Guide
  7. NSUserDefaults存数据相关的问题
  8. C++ tree(1)
  9. ice使用过程遇到的问题
  10. (转载)在spring的bean中注入内部类
  11. 转载_2012年的Android之旅:梦想、学习、坚持、自信、淡定
  12. nameode启动过程
  13. java学习(四)
  14. 用织梦建站如何去掉a这个目录,还有内容页的a
  15. BZOJ.4771.七彩树(可持久化线段树)
  16. js实现上拉加载思路整理
  17. Docker 启动不了容器的问题
  18. Go HTTP服务器
  19. Flask、Celery、RabbitMQ学习计划
  20. 重写nyoj2——括号匹配

热门文章

  1. redis--AOF
  2. Android ToolBar 使用完全解析
  3. DBS:同学录
  4. SilverLight-3:SilverLight 备注
  5. wildfly配置PostgreSQL数据源
  6. log4j教程 8、日志格式化
  7. EffectiveJava(6)消除过期对象的引用
  8. Python图像处理(11):k均值
  9. Oracle 数据库监听配置
  10. Linux组件封装(二)中条件变量Condition的封装