Laravel 5.7 - Логин не входит в систему пользователя - PullRequest
0 голосов
/ 17 февраля 2019

Я начал изучать Laravel 3 дня назад и столкнулся с проблемой, которую не могу исправить.

Когда я регистрирую пользователя, форма работает и пользователь входит в систему.

выход из системы также работает, но когда я вхожу в систему уже зарегистрированным пользователем, Laravel не регистрирует его. Вместо этого он направляет пользователя обратно на домашнюю страницу (или каким бы маршрутом я ни настраивал файл Authenticate.php в разделе «Аутентификация»)..php).

Ниже я показываю свой код на необходимых файлах:

файл вида входа в систему

<form method="POST" action="{{ route('login') }}">
@csrf
    <input type="email" placeholder="example@me.com" class="email form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="" required autofocus>
    @if ($errors->has('email'))
        <span class="invalid-feedback" role="alert">
            <strong>{{ $errors->first('email') }}</strong>
        </span>
    @endif
    <input type="password" placeholder="Password" class="pwd form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" value="" required>
    @if ($errors->has('password'))
        <span class="invalid-feedback" role="alert">
            <strong>{{ $errors->first('password') }}</strong>
        </span>
    @endif
    @if (Route::has('password.request'))
        <a class="btn btn-link" href="{{ route('password.request') }}">
                                        {{ __('Forgot Your Password?') }}</a>
    @endif
    <div class="remember_me_wrapper input">
        <input type="checkbox" id="remember_me" class="checkbox" name="remember_me" value="scales" />
        <label class="remember_me_label" for="remember_me" {{ old('remember') ? 'checked' : '' }}>
            <span></span>Remember Me
        </label>
    </div>
    <input type="submit" name="submit" class="submit" value="Log in">
</form>

Файл контроллера входа:

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Valiator;
use Auth;
use Illuminate\Http\Request;

class LoginController extends Controller
{
    use AuthenticatesUsers;


    protected $redirectTo = '/';

    public function __construct()
    {
        $this->middleware('guest')->except('logouts');
    }

    public function logout(Request $request) {
        Auth::logout();
        return redirect('/');
    }

    public function checkLogin(Request $request){
        $this->validate($request, [
            'email'         => 'required|email',
            'password'      => 'required|min:8',
        ]);
    }
}

Маршруты (web.php)

Route::group(['middleware' => ['web']], function (){

    Route::resource('/', "BlogController");
    Route::get('auth/login', 'Auth\LoginController@getLogin');
    Route::post('auth/login', 'Auth\LoginController@login');
    Route::get('/logout', '\App\Http\Controllers\Auth\LoginController@logout')->name('logout' );

    //register
    Route::get('auth/register', 'Auth\RegisterController@getRegister');
    Route::post('auth/register', 'Auth\RegisterController@postRegister');

    Auth::routes();

    Route::any('{catchall}', function($page) {
        abort(404);
    } )->where('catchall', '(.*)');

});

Помощь будет высоко ценится!

1 Ответ

0 голосов
/ 17 февраля 2019

В методе __construct() это должно быть logout, а не logouts или Вы хэшировали свой пароль при проверке учетных данных пользователя.Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...