您的位置:首页 > 编程语言 > PHP开发

laravel5.2.22 自带用户登录认证笔记

2017-03-21 11:27 323 查看
1、建立表

php artisan migration

2、

  // 认证路由...

    Route::get('auth/login', 'Auth\AuthController@getLogin');

    Route::post('auth/login', 'Auth\AuthController@postLogin');

    Route::get('auth/logout', 'Auth\AuthController@getLogout');

// 注册路由...

    Route::get('auth/register', 'Auth\AuthController@getRegister');

    Route::post('auth/register', 'Auth\AuthController@postRegister');

    Route::get('auth/logout', 'Auth\AuthController@logout');

3、使用用户名登录

将此方法里的email改成name

public function loginUsername()

{

    return property_exists($this, 'username') ? $this->username : 'name';

}

4、view中获取用户名

@if (Auth::guest())

@else

{{ Auth::user()->name }}

@endif

5、控制器中获取用户名

$request->user()->name

6、中间件

所有route全部放在中间件中

Route::group(['middleware' => 'web'], function () {

}

7、

Route::auth()方法可以生成以下几个路由

//    Route::get('login', 'Auth\AuthController@showLoginForm');

//    Route::post('login', 'Auth\AuthController@login');

//    Route::get('logout', 'Auth\AuthController@logout');

//

//    // Registration Routes...

//    Route::get('register', 'Auth\AuthController@showRegistrationForm');

//    Route::post('register', 'Auth\AuthController@register');

//

//    // Password Reset Routes...

//    Route::get('password/reset/{token?}', 'Auth\PasswordController@showResetForm');

//    Route::post('password/email', 'Auth\PasswordController@sendResetLinkEmail');

//    Route::post('password/reset', 'Auth\PasswordController@reset');

8、app下面的User.php是用户表的模型

指定table

protected $table = 'users';

9.auth配置

<?php

return [

    'defaults' => [

        'guard' => 'web',

        'passwords' => 'users',

    ],

    'guards' => [

        'web' => [

            'driver' => 'session',

            'provider' => 'users',

        ],

        'admin' => [

            'driver' => 'session',

            'provider' => 'admins',

        ],

        'api' => [

            'driver' => 'token',

            'provider' => 'users',

        ],

    ],

    'providers' => [

        'users' => [

            'driver' => 'eloquent',

            'model' => App\User::class,

        ],

        'admins' => [

            'driver' => 'eloquent',

            'model' => App\Admin::class,

        ],

    ],

    'passwords' => [

        'users' => [

            'provider' => 'users',

            'email' => 'auth.emails.password',

            'table' => 'password_resets',

            'expire' => 60,

        ],

    ],

];

10、控制器验证用户是否登录

public function __construct()

{

    $this->middleware('auth');

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息