DEV: Přihlášení až po refreshi × PRODUCTION ok, ale nedrží expirace

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Tomáš Votruba
Moderator | 1114
+
0
-

Mám opravdu podivný problém. Opravdu.

// přihlašovací funkce
public function login(Form $form) {
	try {
		$values = (array) $form->getValues();

		$this->user->login($values["login"], $values["password"], $values["lang"]);
		if ($values["permalogin"]) {
			$this->user->setExpiration("+ 14 days", FALSE);
		} else {
			$this->user->setExpiration("+ 60 minutes", TRUE);
		}

		$this->redirect("Homepage:default");

	} catch (\Nette\Security\AuthenticationException $e) {
		// $form->addError($e->getMessage());
		$this->flashMessage($e->getMessage(),"neg");
	}
}

// authenticator jsem upravil dle vzoru aktuální verze, bez úspěchu

Chování:

  1. localhost, Debugger::enable(); – pokud odešlu přihlašovací formulář, nic se nestane; přihlásí mne až po refreshi (F5) nebo kliknutí na nějakou stránku
  2. localhost, Debugger::enable(Debugger::PRODUCTION); – přihlásí mne v pořádku, ale problém s trvalým přihlášením, vyprší po pár hodinách/dnech
  3. ostrý – taktéž 2)

Zajímalo by mne, v čem se liší DEVELEOPMENT a PRODUCTION co se týče těchto přesměrování a přihlášení.

A také, proč mi nedrží session u uživatele. V boostrapu mám session takto:

// Session
$container->session->setExpiration("+ 30 days");
if ($container->session->exists()) {
	$container->session->start();
}
Tomáš Votruba
Moderator | 1114
+
0
-

Revive. Nikdo ani netuší?

hAssassin
Člen | 293
+
0
-

ten prvni pripad netusim, ale u toho druheho neni nahodou problem v podmince? cili nemelo by tam spis byt:

// Session
$container->session->setExpiration("+ 30 days");
if (!$container->session->exists()) { // == false
        $container->session->start();
}

Editoval hAssassin (9. 1. 2012 3:34)

bojovyletoun
Člen | 667
+
0
-

Jen zkusím co mě napadlo: zkusit různé prohlížeče, případně dát session->start() nejřív vždy, pak zkusit jenom když if(session->exists). Nesouvisí to také možná s nedávnými změnami s regenerate?