Laravel Breeze マルチログイン Adminを追加したが、ログインできない
解決したいこと
Laravelの独学を進めています。
マルチログイン機能の学習をしており、Adminアカウントでのログインを実装中です。
を参考に学習を進めています。
Admin用の新規登録でDBにアカウントの登録はできました。
同じメールアドレスでは登録はできないようにもなっています。
👇DB
👇新規登録フォーム
しかしログインフォームからログインしようとすると「ログイン情報がない」ということでログインができません。
👇ログインフォーム
どこを修正すべきなのかわかりません。
ご教示いただけたら助かります。よろしくお願いいたします。
該当するソースコード
<form method="POST" action="{{ route('admin.login') }}">
@csrf
<!-- Email Addressフォーム -->
<div>
<x-input-label for="email" :value="__('Email')" />
<x-text-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email')" required autofocus />
</div>
<!-- Passwordフォーム -->
<div class="mt-4">
<x-input-label for="password" :value="__('Password')" />
<x-text-input id="password" class="block mt-1 w-full"
type="password"
name="password"
required autocomplete="current-password" />
</div>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<x-primary-button class="ml-3">
{{ __('Log in') }}
</x-primary-button>
</div>
</form>
①👆のフォームに入力すると、どのコントローラーに飛ぶのかがわかりません。
app/admin/authを作成していて、
・AuthenticatedSessionController.php
・ConfirmablePasswordController.php
・EmailVerificationNotificationController.php
・EmailVerificationPromptController.php
・NewPasswordController.php
・PasswordResetLinkController.php
・RegisteredUserController.php
・VerifyEmailController.php
があります。
名前的には
・AuthenticatedSessionController.php
・ConfirmablePasswordController.php
のどちらかだと思っています。
以下がそのコードです。
<?php
namespace App\Http\Controllers\Admin\Auth;
use App\Http\Controllers\Controller;
use App\Http\Requests\Auth\LoginRequest;
use App\Providers\RouteServiceProvider;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class AuthenticatedSessionController extends Controller
{
/**
* Display the login view.
*
* @return \Illuminate\View\View
*/
public function create()
{
return view('admin.auth.login');
}
/**
* Handle an incoming authentication request.
*
* @param \App\Http\Requests\Auth\LoginRequest $request
* @return \Illuminate\Http\RedirectResponse
*/
public function store(LoginRequest $request)
{
$request->authenticate();
$request->session()->regenerate();
return redirect()->intended(RouteServiceProvider::HOME);
}
/**
* Destroy an authenticated session.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\RedirectResponse
*/
public function destroy(Request $request)
{
Auth::guard('web')->logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect('/');
}
}
<?php
namespace App\Http\Controllers\Admin\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Validation\ValidationException;
class ConfirmablePasswordController extends Controller
{
/**
* Show the confirm password view.
*
* @return \Illuminate\View\View
*/
public function show()
{
return view('admin.auth.confirm-password');
}
/**
* Confirm the user's password.
*
* @param \Illuminate\Http\Request $request
* @return mixed
*/
public function store(Request $request)
{
if (! Auth::guard('web')->validate([
'email' => $request->user()->email,
'password' => $request->password,
])) {
throw ValidationException::withMessages([
'password' => __('auth.password'),
]);
}
$request->session()->put('auth.password_confirmed_at', time());
return redirect()->intended(RouteServiceProvider::HOME);
}
}
エラーコードなどがなく、コントローラーのどこを修正すべきなのかがわかりません。
何卒よろしくお願いいたします。