Nette 2.2.6 – trvale prihlaseni
- Kurtas
- Člen | 109
Ahoj,
po prechodu (z 2.0.X) na Nette 2.2.6 mi nefunguje trvale prihlaseni, resp. po restartu browseru se musim znova prihlasit
V config.neon mam
nette:
session:
expiration: 370 days
autoStart: true #zkousel jsem i smart
save_path: "%tempDir%/../sessions"
V login formulari mam checkbox „pernament“ a kde upravuji expiraci nasledujicim zpusob
if(isset($values['pernament'])){
if($values['pernament']->value == true){
$user->setExpiration('+365 days', FALSE);
}else{
$user->setExpiration($config->expiry, true);
}
}else{
$user->setExpiration($config->expiry, true);
}
Z info o cookies vydim ze po prihlaseni ma cookie platnost Sun, 27 Dec 2015 12:04:29 GMT coz odpovida 370dni melo by to mit ale 365 ne? Kazdopadne po restartu browseru se musim prilhasit i tak.
- h4kuna
- Backer | 740
370 je správně, to kdy má který namespace expirovat tak ten čas už si nese s sebou. Pokud smažeš cookie tak se ti smažou všechna data co jsou v session.
Session se ti v adresáři vytváří?
Dojde ti to do správné větve podmínky?
<?php
if(isset($values['pernament']) && $values['pernament']->value) {
$user->setExpiration('+365 days', FALSE);
} else {
$user->setExpiration($config->expiry);
}
?>
BTW
370 bych nedával jelikož má každá session jeden soubor tak ti to může
zahltit filesystem a zpomalit server. 14 dní je dostačujících.
- Jiří Nápravník
- Člen | 710
Ja teda nevim, ale poku odmazavas session soubory ktere se nezmenily pres 30 dni, tak to je v podstate totez, jako bys nastavil expiraci po triceti dnech… To defaultni chovani je totiz v nette tak, ze se jen PHPSESSID cookie nastavi delsi expirace, pokud se nemýlím. Lepsi je si tohle osetrit primo pres cookie sam.
- h4kuna
- Backer | 740
Kde ještě v kódu pracuješ se session? Nelikviduješ si ji na tom místě?
Jak píše @JiříNápravník pokud nastavíš expiraci na 30 dní tak pak se to maže samo podle mtimu.
Zkus si jiný příklad bez tvojí aplikace zda ti pamatování session funguje, pokud ano chyba je v aplikaci pokud ne chyba je na servru.
Editoval h4kuna (23. 12. 2014 14:01)
- Kurtas
- Člen | 109
Nevim cim to je ale najednou to zase zacalo fungovat :) zmenil jsem delku expirace na +30 dni a smazal jsem vsechny cookies v prohlizeci, nic jineho jsem neudelal. Nicmene koumanim session jsem zjistil ze Nette expiraci sliduje (posouva vzdy +30dni od posledniho requestu). To jsem nevedel a plne mi to vyhovuje :)
- Kurtas
- Člen | 109
Bohuzel mam stale problemy s tim trvalym prihlasenim.
Expiraci UserStorage mam pri trvalem prihlaseni nastavenou na +30dni. Nette
platnost te cookie posouva kazdym requestem, funguje i zapamatovani si
prihlaseni pokud zavru browser.
Pokud pracuji kazdy den tak zadny problem neni. Problem nastava pokud nepracuji vic jak 24h, pak jsem odhlasen a jako duvod Nette vraci User::INACTIVITY pritom cookies ma platnost az do brezna.
Dokaze nekdo poradit?