Laravel 5.7 Проблема в множественной аутентификации (эта страница не работает) - PullRequest
0 голосов
/ 30 октября 2018

Я только начал в рамках Laravel. Я смотрю учебники на YouTube "Как сделать множественную аутентификацию". Все работает хорошо, я могу войти в систему для обоих пользователей (пользователь / персонал), зарегистрировать новую учетную запись, но я понял, что, если учетные данные неверны (один из двух пользователей), это выдаст мне ошибку

This page isn’t working 127.0.0.1 is currently unable to handle this request.
HTTP ERROR 500

ПРИМЕЧАНИЕ: Получил 2 модели: 1) Пользователь 2) Персонал

User Table:
email - xxxx@gmail.com
password - 123456
Staff Table:
email - xxxx@gmail.com
password - 123456

Сценарий 1: Когда я ввожу правильные учетные данные, это правильно

Login

Email:xxxx@gmail.com
Password:123456

Но когда учетные данные неверны

Сценарий 2: неверные учетные данные

Login

Email:xxxx@gmail.com
Password:12345

enter image description here

StaffLoginController

<?php

namespace App\Http\Controllers\Auth;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Auth;
class StaffLoginController extends Controller
{
    //
    public function __construct()
    {
        $this->middleware('guest:staff');
    }
    public function showLoginForm()
    {
        return view('auth.staff.login');
        // return view('layouts.staff.app');
    }
    public function login(Request $request)
    {
        // Validate the form
        $this->validate($request,[
            'email'     => "required|email",
            'password'  => 'required|min:6'
        ]);

        // Attempt to log

        if(Auth::guard('staff')->attempt(['email' => $request->email, 'password' => $request->password],$request->remember))
        {
            // If successful, then redirect 
            return redirect()->intended(route('staff.index'));
        } 


        // If unsuccessful, then redirect to login
    }
}

Обработчик

public function render($request, Exception $exception)
    {
        // return parent::render($request, $exception);
        $guard =  array_get($exception->guards(),0);
        switch ($guard) {
            case 'staff':
                # code...
                $login = 'staff.login';
                break;

            default:
                # code...
                $login = 'login';
                break;
        }
        return redirect()->guest(route($login));
    }

Web

Route::get('/', function () {
    return view('welcome');
});

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');


Route::prefix('staff')->group(function(){
    Route::get('/', 'StaffController@index')->name('staff.index');
    Route::get('/login','Auth\StaffLoginController@showLoginForm')->name('staff.login');
    Route::post('/login','Auth\StaffLoginController@login')->name('staff.login.submit');
});

Вопрос: В чем причина этой ошибки?

...