Nefunkčné prihlasovanie po niekoľkých týždňoch
- tolljump
- Člen | 47
Dobry den. Niekedy dnes v noci u nas nastal problem s prihlasovanim uzivatelov, pricom sa v systeme nerobili vobec ziadne zmeny v suvislosti s prihlasovanim, alebo uzivatelmi. Jedine co sa spravilo, bolo vytvorenie novej roly uzivatela. Pred touto chybou bola v databaze vytvorena jedna nova tabulka, ktora tiez nema nic spolocne s tabulkou „users“ (zoznam uzivatelov pre prihlasovanie).
No v tomto momente mi funkcia $this->getUser()->login($values->username, $values->password); vracia false. Ukazka jednoducheho prihlasenia, ktore stale fungovalo:
public function signInFormSubmitted($form)
{
try {
$values = $form->getValues();
if ($values->remember) {
$this->getUser()->setExpiration('+ 30 days', FALSE);
} else {
$this->getUser()->setExpiration('+ 20 minutes', TRUE);
}
$login = $this->getUser()->login($values->username, $values->password);
if($login){
$this->context->database->table('users')->where('id',$this->user->id)->update(array(
'lastLogin'=>new Nette\Database\SqlLiteral('NOW()')
));
$this->redirect('Homepage:');
}else{
$this->flashMessage("Nepodarilo sa Vás prihlásiť. Pravdepodobne sú vykonávané zmeny v systéme, vyskúšajte to prosím neskôr.");
$this->redirect('this');
}
} catch (NS\AuthenticationException $e) {
$form->addError($e->getMessage());
}
}
Ako vidite, tak ak $login vrati false, mala by sa vypisat flash sprava „Nepodarilo sa Vás prihlásiť…“ a redirectnut na tu istu prihlasovaciu stranku. Co je nepochopitelne, ze redirect prejde na tu istu stranku no flashMessage sa nezobrazi. V tomto kroku ani neprejde prihlasenie.
V com je teda problem? Moze to byt nastavenim servera, alebo databazou? Cache som vymazaval a stale ten isty problem. Naviac v nepravidelnych intervaloch dostavam chybu „Undefined offset…“
Pouzite je Nette 2.0.1 released on 2012–02–29 a na testovacom serveri Nette 2.0.5 stable, pricom tato chyba je rovnaka.
Dakujem za skore rady…
- tolljump
- Člen | 47
Problem bol vyrieseny po konzultacii s webhostingom, ktoreho technik pridal
urcite direktivy do .htaccess, kvoli ktorym bol sposobovany problem so SESSION,
cize to bol ten problem.
Rychlu odpoved som tu o takomto case nedostal, co som aj ocakaval, tak dufam ze
tato odpoved na podobny problem niekomu dalsiemu v buducnosti pomoze.
Pekny den prajem