ユーザー認証機能でユーザー名を使ってログインさせる

Laravelのユーザー認証機能(ログイン機能)をそのまま使った場合、ログインIDはメールアドレスになります。これをユーザー名に変更する方法です。

  1. \{Laravelプロジェクト}\app\Http\Controllers\Auth\LoginController.phpに次のメソッドを追加する。
    public function username() {
        return 'name';
    }
    
  2. \{Laravelプロジェクト}\resources\views\auth\login.blade.phpを次のように変更する
    emailの箇所をnameに変更
    <div class="form-group row">
        <label for="name" class="col-md-4 col-form-label text-md-right">ユーザー名</label>
    
        <div class="col-md-6">
            <input id="name" type="text" class="form-control @error('name') is-invalid @enderror" name="name" value="{{ old('name') }}" required autocomplete="name" autofocus>
    
            @error('name')
                <span class="invalid-feedback" role="alert">
                    <strong>{{ $message }}</strong>
                </span>
            @enderror
        </div>
    </div>
    
変更後の画面イメージ
Laravelユーザー名でログイン
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です