registrace a přihlašování Nette 2.1.1
- TorrX
- Člen | 40
Zdravím,
mám trošku problém s registrací a loginem. Podle věcí, které jsem se dočetl na fóru se mi povedla rozhýbat registrace pomocí:
public function registerSubmitted($form) {
$values = $form->getValues();
$email = $this->database->table('users')->where('username', $values->name)
->fetch();
if($email) {
$form->addError('Tento email je již používán.');
} else {
$this->user->getAuthenticator()->add($values->username, $values->password);
$this->flashMessage('Uživatel registrován.');
$this->redirect('Homepage:default');
}
}
Nicméně samotný login mi neustále tvrdohlavě říká, že heslo je
špatně zadané.
Pro login mám následující:
public function signInFormSucceeded($form)
{
$values = $form->getValues();
if ($values->remember) {
$this->getUser()->setExpiration('+ 14 days', FALSE);
} else {
$this->getUser()->setExpiration('+ 20 minutes', TRUE);
}
try {
$this->getUser()->login($values->username, $values->password);
} catch (Nette\Security\AuthenticationException $e) {
$form->addError($e->getMessage());
return;
}
$this->redirect('Admin:default');
}
nevíte někdo, co je špatně? Jak jsem vyrozuměl tak se využívá UserManager.php
- japlavaren
- Člen | 404
ahoj,
neviem sice kde je problem, ale poradim ako to zistit:
pozri si aky hash hesla ti to ulozilo do db a potom v autentizatore::login si
dumplni aky ti generuje pri prihaseni. pravdepodobne budu rozdielne a tambude
problem
- Šaman
- Člen | 2666
Zakomentuj řádky 47 a 48 UserManagera (jinak řečeno hackni kontrolu hesla :) a pak se přihlaš libovolným heslem (možná jen bude muset projít validací na minimální délku). Pak si heslo změň a ty rádky můžeš odkomentovat.
P.S. Možná nebude ani nutné heslo měnit, vypadá to, že po kontrole hesla to ještě aktualizuje heslo pokud je potřeba rehash (co to je?). Takže je možnost, že když zadáš nějaké heslo při přihlášení a nezasekne se to na té kontrole (máš ji zakomentovanou), tak to zjistí, že heslo je nějaké divné a uloží so ho do db znovu s aktuálím hashem. Napiš pak, jak to dopadlo.
Editoval Šaman (15. 3. 2014 12:51)