ユーザー認証機能でユーザー名を使ってログインさせる
Laravelのユーザー認証機能(ログイン機能)をそのまま使った場合、ログインIDはメールアドレスになります。これをユーザー名に変更する方法です。
\{Laravelプロジェクト}\app\Http\Controllers\Auth\LoginController.php
に次のメソッドを追加する。public function username() { return 'name'; }
\{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>