Laravel 5.3使用多重身份验证(例如admin,customer)

时间:2016-11-08 10:46:16

标签: php laravel laravel-5

我在Laravel中已经阅读了很多关于multi-auth的线程,我看到的大多数配置都有点复杂,我也看到了一个多auth包,但是它不支持Laravel Socialite。
我知道这个问题被多次询问,但如果有人能给出更好的答案。非常感谢!

我尝试过的事情

  1. 我熟悉Laravel make:auth

  2. 我也熟悉Laravel社交网站Facebook,Twitter,Google plus。

1 个答案:

答案 0 :(得分:1)

试一试。但是你仍然需要一些关于Laravel新的多租户的基本知识。

  1. 在config / auth.php中添加类似这样的内容到guards数组:

    'customer' => [
        'driver' => 'session',
        'provider' => 'customers',
    ],
    
  2. 在同一个文件中,将其添加到providers数组:

        'customers' => [
            'driver' => 'eloquent',
            'model' => App\Customer::class,
        ],
    
  3. customers DB table创建迁移(您可以使用Laravel开箱即用的用户迁移表)

  4. 接下来是Eloquent模型App\Customer,其中包括:

    use App\Scopes\AuthorizedScope;
    use Illuminate\Foundation\Auth\User as Authenticatable;
    
  5. 这些应该允许您使用这些最常用的方法在您的应用中使用Laravel的Auth外观:

        Auth::guard('customer')->attempt()
        Auth::guard('customer')->check()
        Auth::guard('customer')->logout()
        Auth::guard('customer')->user()
    

    或者像这样使用auth中间件:

        Route::get('customer/dashboard', function () {
            // Only authenticated users may enter...
        })->middleware('auth:customer');
    

    还要检查这些:

    https://laravel.com/docs/5.3/authentication#authenticating-users