У меня есть регистрационная форма, которая работает для регистрации и входа в систему. Я использую $this->middleware('auth');
в контроллерах на защищенных маршрутах, чтобы предлагать пользователям войти в систему. Форма Войти проходит POST
запрос AuthController Laravel ж/имя пользователя и пароль:Laravel 5.1 пользователь не работает
<input type="hidden" name="_token" value="XXXXXXXXXX">
<div class="widget-content">
<input type="text" placeholder="Username" name="username">
<input type="password" placeholder="Password" name="password">
<input class="btn btn-blue pull-right" type="submit" />
</div>
</form>
Маршруты:
//authentication routes
Route::get('auth/login', 'Auth\[email protected]');
Route::post('auth/login', 'Auth\[email protected]');
Route::get('auth/logout', 'Auth\[email protected]');
// Registration routes...
Route::get('auth/register', 'Auth\[email protected]');
Route::post('auth/register', 'Auth\[email protected]');
Я попытался с помощью функции вне-полки postLogin()
системе аутентификации в, судимый проходящее имя пользователя, имя и адрес электронной почты. Я попытался переопределить родительский метод, как это:
public function postLogin(Request $request)
{
$username = $request->input('username');
$password = $request->input('password');
if (Auth::attempt(['name' => $username, 'password' => $password])) {
// Authentication passed...
return redirect('dashboard');
} else {
return redirect()->intended('auth/login');
}
}
EDIT:
(. Это старый, Для тех, кто с этой проблемой) Правильное использование хэш-функции является
$password = Hash::make('yourPasswordString');
$result = Hash::check('yourPasswordString', $password); //returns true
Какая ошибка вы получаете? – Amo
Вы пытаетесь позволить им войти в систему с именем пользователя вместо электронной почты? – andrewtweber
проверить шаги здесь, посмотрите, поможет ли это http://stackoverflow.com/questions/32029689/laravel-5-user-can-not-be-retrieved-after-successful-authentication/32030103#32030103 –