LoginSignup
0
0

More than 3 years have passed since last update.

Laravel標準の認証をemailからnameに変更する

Posted at

Laravelを触る機会があった+新しい知識を得たのでここに共有したいと思います。

Laravel標準の認証をemailからnameに変更する

タイトルにあるよう、Laravel標準の認証をemailからnameに変更しました。

まず認証をアプリケーションに実装する方法は、以下の記事で説明してありますので参考にしてみてください。

Laravel標準の認証では、emailとpassowrdでのログインですのでこれをnameとpasswordでのログインに変更していきたいと思います。

と言ってもLaravel様。簡単に実装ができるようになっております。

controllerの編集


// /app/Http/Controllers/Auth/LoginController.php

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;

class LoginController extends Controller
{
    use AuthenticatesUsers;
    protected $redirectTo = '/admin';

    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }
    // ここから ->
    public function username()
    {
        return 'name';
    }
    // <-ここまで
}

とLoginController.phpを編集します。usernameメソッドでemailと指定していたのをnameにオーバーライドすることができます。

viewの編集

<input name="name" value="" type="text">

といった感じでnameをemailからnameに変更してください。

## 注意点

デフォルトの設定ではnameはユニークではないのでnameが被ってしまう可能性があります。なのでregisterの時点でnameがユニークになるよう設定しておく必要がありますのでご注意を。

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0