0

新しい password.confirm 機能が laravel 6.2 フレームワークに追加されました。私は新しくlaravel 6.18.8をインストールしました。ガードに基づいて複数の認証を行いました。このカスタム ガードに対して password.confirm を実行します。ログインが admin/home URL に正しくリダイレ​​クトされた後、guard:admin のログイン/ログアウトが正しく機能します。これまでのところ、guard:admin にログインしているかどうかの検証は正しく機能しています。で、admin/home に入ろうとすると、admin/login にリダイレクトされます - 正しく

しかし

admin/secret (管理者パスワードを要求する必要があります) にアクセスしようとすると、パスワードを開く/URL を確認する (デフォルト ガード用) ため、ユーザー ログイン ページにリダイレクトされます。

管理者としてログインし、URL admin/password/confirm を開こうとするとエラーが表示される

Target class [admin] does not exist. 

これを実行する機会はありますか?または、「そのまま」作成され、デフォルトの認証ガードなしで再生されませんか?

現在、guard:admin: config/auth.phpの私のコード

'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => 'token',
            'provider' => 'users',
            'hash' => false,
        ],

        'admin' => [
            'driver' => 'session',
            'provider' => 'admins',
        ],
    ],

ルート/web.php

/*
|--------------------------------------------------------------------------
| Web Routes for admin panel
|--------------------------------------------------------------------------
|
|
*/

Route::prefix( env('ADMIN_PREFIX', 'admin') )->name('admin.')->namespace('Admin')->group(function () {
    // Auth::routes(['register' => false, 'verify' => false]);
    // Login/out process
    Route::get('/login', 'Auth\LoginController@showLoginForm')->name('login');
    Route::post('/login', 'Auth\LoginController@login')->name('login');
    Route::post('/logout', 'Auth\LoginController@logout')->name('logout');
    // Password reset process
    Route::get('/password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
    Route::get('/password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
    Route::post('/password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
    Route::post('/password/reset', 'Auth\ResetPasswordController@reset')->name('password.update');
    // Password confirmation process
    Route::get('/password/confirm', 'Auth\ConfirmPasswordController@showConfirmForm')->name('password.confirm');
    Route::post('/password/confirm', 'Auth\ConfirmPasswordController@confirm')->name('password.confirm');

    Route::middleware('auth:admin')->group(function() {
        Route::view('/home', 'admin.home')->name('home');
        Route::view('/secret', 'admin.secret')->name('secret')->middleware('password.confirm');
    });
4

2 に答える 2