2016-11-25 5 views
1

私はLaravel 5.3の初心者です。 私が欲しいのは、代わりにユーザーテーブルを認証テーブルとしてカスタムテーブルを使用することです。 ユーザテーブルは他の目的に使用する必要があるためです。 config/auth.phpなどを編集するにはどうしたらいいですか? 私を助けてください!カスタムクラスにごauth.php変更providers.users.modelユーザテーブルの代わりに認証テーブルとしてカスタムテーブルを使用するにはどうすればよいですか?

ファイルauth.php

<?php 

return [ 

    /* 
    |-------------------------------------------------------------------------- 
    | Authentication Defaults 
    |-------------------------------------------------------------------------- 
    | 
    | This option controls the default authentication "guard" and password 
    | reset options for your application. You may change these defaults 
    | as required, but they're a perfect start for most applications. 
    | 
    */ 

    'defaults' => [ 
     'guard' => 'web', 
     'passwords' => 'users', 
    ], 

    /* 
    |-------------------------------------------------------------------------- 
    | Authentication Guards 
    |-------------------------------------------------------------------------- 
    | 
    | Next, you may define every authentication guard for your application. 
    | Of course, a great default configuration has been defined for you 
    | here which uses session storage and the Eloquent user provider. 
    | 
    | All authentication drivers have a user provider. This defines how the 
    | users are actually retrieved out of your database or other storage 
    | mechanisms used by this application to persist your user's data. 
    | 
    | Supported: "session", "token" 
    | 
    */ 

    'guards' => [ 
     'web' => [ 
      'driver' => 'session', 
      'provider' => 'users', 
     ], 

     'api' => [ 
      'driver' => 'token', 
      'provider' => 'users', 
     ], 
    ], 

    /* 
    |-------------------------------------------------------------------------- 
    | User Providers 
    |-------------------------------------------------------------------------- 
    | 
    | All authentication drivers have a user provider. This defines how the 
    | users are actually retrieved out of your database or other storage 
    | mechanisms used by this application to persist your user's data. 
    | 
    | If you have multiple user tables or models you may configure multiple 
    | sources which represent each model/table. These sources may then 
    | be assigned to any extra authentication guards you have defined. 
    | 
    | Supported: "database", "eloquent" 
    | 
    */ 

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

     // 'users' => [ 
     //  'driver' => 'database', 
     //  'table' => 'users', 
     // ], 
    ], 

    /* 
    |-------------------------------------------------------------------------- 
    | Resetting Passwords 
    |-------------------------------------------------------------------------- 
    | 
    | You may specify multiple password reset configurations if you have more 
    | than one user table or model in the application and you want to have 
    | separate password reset settings based on the specific user types. 
    | 
    | The expire time is the number of minutes that the reset token should be 
    | considered valid. This security feature keeps tokens short-lived so 
    | they have less time to be guessed. You may change this as needed. 
    | 
    */ 

    'passwords' => [ 
     'users' => [ 
      'provider' => 'users', 
      'table' => 'password_resets', 
      'expire' => 60, 
     ], 
    ], 

]; 

ファイルAdmin.php

<?php 

namespace App; 

use Illuminate\Notifications\Notifiable; 
use Illuminate\Foundation\Auth\Admin as Authenticatable; 

class Admin extends Authenticatable 
{ 
    use Notifiable; 

    /** 
    * The attributes that are mass assignable. 
    * 
    * @var array 
    */ 
    protected $fillable = [ 
     'name', 'email', 'password', 
    ]; 

    /** 
    * The attributes that should be hidden for arrays. 
    * 
    * @var array 
    */ 
    protected $hidden = [ 
     'password', 'remember_token', 
    ]; 
} 

答えて

0

同様:

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

Docs

更新しますAdmin.phpファイルの変更で

use Illuminate\Foundation\Auth\Admin as Authenticatable; 

use Illuminate\Foundation\Auth\User as Authenticatable; 
+0

"Class 'Illuminate \ Foundation \ Auth \ Admin'が見つかりません" –

+0

あなたのカスタムテーブル名は 'admin'ですか?もしそうなら、更新された 'auth.php'と' Admin.php'ファイルをあなたの質問に表示することができます。 –

+0

はい質問を更新しました –

関連する問題