Używam systemu ręcznego uwierzytelniania w języku laravel. Przesyłanie formularza przekierowuje na tę trasę pokazaną poniżej. A w funkcji authenticate() nazwa i hasło nigdy nie pasują do wcześniej zapisanego. tj. Auth::attempt
jest zawsze fałszywe.Ręczne uwierzytelnianie Laravel: Auth :: próba zawsze fałszywa
Route::post('/logintest', '[email protected]');
Route::get('/home', ['middleware' => 'auth', function() {
echo "home page";});
}]);
Uwierzytelnij funkcja:
public function authenticate(Request $request)
{
$input=$request->all();
$password=$input['password'];
$name=$input['name'];
if (Auth::attempt(['Name' => $name, 'Password' => $password])){
return redirect()->intended('/home');
} else
{
return redirect('/login')->with('message','Error logging in!');
}
}
Mam zarejestrowany użytkownikowi w ten sposób. hasło jest mieszane za pomocą bcrypt(). funkcjonować. ale w funkcji authenticate() porównuję zwykłe hasło. gdzieś czytam Auth
automatycznie go obsługuje. Czy jest coś, co powinienem zmienić w config/auth.php, ponieważ użyłem nazwy do uwierzytelnienia zamiast nazwy użytkownika?
public function register(Request $request)
{
$input=$request->all();
$password=bcrypt($input['password']);
$name=$input['name'];
$insert= User::insert(['Name'=>$name,'Password'=>$password]);
return redirect('/login')
->with('message','successfully Registered.');
}
Czy możesz nam pokazać plik tras? – VipindasKS
@VipindasKS Pokazałem je u góry. – micky
Czy to jedyne zdefiniowane trasy.Po prostu upewnij się, że nie powoduje konfliktów z żadnymi innymi trasami. Zwłaszcza, jeśli zrobiłeś php rzemieślnika zrobić: auth wcześniej. – VipindasKS