Při přechodu stránkou se uživatel odhlašuje

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
kerim.22
Člen | 16
+
0
-

Dobrý den, mám přihlašovací stránku kde login funguje, jakmile ale dám redirect na Homepage:default uživatel se odhlásí. Jak přenést uživatele do ostatních presenterů ?

Machy8
Člen | 59
+
0
-

Můžeš ukázat kus kódu, kde probíhá přihlášení a redirect? Přihlášen bys měl být automaticky na skrz stránkami. Díval jsi se do quick start a přihlašování & oprávnění uživatelů?

Editoval Machy8 (27. 8. 2016 21:12)

kerim.22
Člen | 16
+
0
-

Přihlášení je v callbacku zde

public function signInFormSucceeded($form, $values)
 {
  //$this->getUser()->setExpiration('20 minutes', TRUE);
 // dump($this->getUser());
 try {
     $this->getUser()->login($values->username, $values->password);
     //$is = $this->getUser()->isLoggedIn();
     //$this->flashMessage("Byl jste úspěšně přihlášen","success");
     //$this->redirect('Homepage:');

 } catch (Nette\Security\AuthenticationException $e) {
     $form->addError('Nesprávné přihlašovací jméno nebo heslo.');
 }
 }

Editoval kerim.22 (27. 8. 2016 21:14)

kerim.22
Člen | 16
+
0
-

nemůže to bejt taky tim, že mám v cachce prázdné sessions? myslim že tam by se mělo něco ukládat

Machy8
Člen | 59
+
0
-

Zkus promazat cache a dumpnout uživatele jestli ti to vypisuje to co má. Config neon máš správně nastaven?

kerim.22
Člen | 16
+
0
-

session:
expiration: 14 days
gc_maxlifetime: 1440
#autoStart: smart # ‚smart‘ is default value
#savePath: „%tempDir%/sessions“

právě u toho savepath mi nejde nastavit cestu, do adresáře pro sessions se nic neukládá, je prázdný. Jsem přihlášen jenom na přihlašovací stránce, další stránky už jsou automaticky odhlášeny.

Machy8
Člen | 59
+
0
-

A když bys tuhle část smazal, tak to funguje (viz https://play.nette.org/…nych-session)?

Vanamas
Člen | 20
+
0
-

Mám stejný problém. Prakticky jsem provedl update z Nette 2.1 na 2.4 a na PHP 7.
Je úplně jedno jaký autentikátor použiju. I když použiju ten SimpleAuthentikator dle dokumentace, tak mě to přihlásí a po redirectu jsem odhlášen.
Zkoušel jsem nastavit sessionpath, ale to nepomáhá. Mám ještě jeden Nette 2.4 projekt a tam to přihlášení funguje.

Edit: Tak už jsem to rozjel. U mě byl problém, že v BasePresenteru jsem měl:

public function getUser()
{
    $user = parent::getUser();
    $user->getStorage()->setNamespace('User');
    return $user;
}

Používám Admin module a nastavuji při loginu namespace a tady jsem ho volal. Na starým Nette to fungovalo. Na novým jsem musel setNamespace zakomentovat a už to běží. Jen nevím jestli nebudu mít teď problém s admin authetikací.

Editoval Vanamas (28. 8. 2016 14:35)