nmeri17 Ответов: 0

Как выполнить аутентификацию с помощью laravel 5.4


- Привет. Я не могу заставить что-либо работать из-за тысяч микро-PHP-классов, разбросанных по другим тысячам папок, созданных Laravel. Я постоянно получаю всевозможные забавные ошибки, просто пытаясь увидеть, что приложение действительно может работать в Laravel и что это не миф. Во-первых, мне пришлось побороться со всеми предложениями по этот вопрос[^К сожалению, ответ, который помог мне, был предпоследним на такой длинной нити фреймворков, живущих в отрицании. Я сталкивался с десятками других, рыскал по учебным сайтам, читал Аутентификация-Laravel - PHP-фреймворк для веб-мастеров[^] и вопросы stackoverflow с устаревшими ответами на загадочные ошибки, которыми я был пронизан. Это продолжалось в течение последних 7 дней.

Некоторых ошибок можно было бы избежать, если бы мое имя таблицы аутентификации было просто "пользователи", и даже сейчас, когда я сменил его на" Пользователи", я все еще застрял.

Что я уже пробовал:

В конце концов я вошел в систему в какой-то момент, удалив эту строку

$this->middleware('auth');
из HomeController затем конструктор вручную настраивает мой собственный auth, как я сделал бы за 30 минут, если бы разрабатывал его с нуля. Но это казалось надуманным. В учебниках говорится, что все должно работать из коробки, не касаясь никаких собственных функций PHP, поэтому я раскомментировал строку и продолжил извиваться.

Нынешняя ситуация такова, что форма входа просто лежит там, хотя я вручную засеял свою базу данных. Из web.php файл (который, как я понимаю, является neo routes.php), у меня есть

Route::post('/login', 'HomeController@loginPost');

Затем в его контроллере последний фрагмент, который я пробовал, выглядит так
public function loginPost() {
        var_dump(Input::all());
        if (Auth::attempt(Input::all())) {
            var_dump('expression');
        User::create([
        'username' => strtolower(Input::get('username')),
        'password' => Hash::make(Input::get('password')),
        ]);

$user = User::where('username', '=', strtolower(Input::get('username')));

Auth::login($user);
        }
        else var_dump('expression2');
    }

Вероятно, там должна быть электронная почта вместо имени пользователя, но Я заменил все в представлении, заменив электронную почту на имя пользователя, так как идентификатор аутентификации приложения должен быть их именами пользователей, а не их электронными письмами. Когда я нажимаю enter сейчас, страница просто перезагружается с пустыми полями ввода. Он даже устал бросать в меня ошибки. Есть ли выход или Ларавель просто не для меня?

0 Ответов