Laravel 5.3のままでなければならない認証の実装の変化を有しています。私にとって、この方法で解決しました。
最初に、識別に使用する基準を満たす会社テーブルをデータベースに用意してください。したがって、名前、電子メール、パスワード、およびremember_token列が必要です。詳細はhereです。
config/auth.phpで、ユーザーモデルを会社のクラスに変更します。
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Company::class,
],
認証を拡張するアプリケーションフォルダ内の会社のクラスを作成し、これを使用:Companyクラスで
use Illuminate\Foundation\Auth\User as Authenticatable;
、入力可能なと隠しフィールドを定義します。
use App\Company;
へ
RegisterController.php変更で
class Company extends Authenticatable {
protected $fillable = [
'name', 'email', 'password',
];
protected $hidden = [
'password', 'remember_token',
];
}
"使用のApp \ユーザー" は、当社とRegisterController.phpでとバリ関数を作成し調整は::
を作成
protected function create(array $data)
{
return Company::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:companies',
'password' => 'required|min:6|confirmed',
]);
}
'email' => '必須|メール|最大:255 |ユニーク:企業 '
(会社のモデルの表名は会社になります)
へ
から
は、デフォルトのユーザーテーブルを削除し、それほど難しいことではありませんカスタムを作成します。 –
@Iftikharuddin私の編集を参照してください –