Samovolné odhlašování uživatelů
- dog.big
- Člen | 49
Zdravím,
delší dobu bojuji s tím, že se mi samovolně odhlašují uživatelé při
neaktivitě, přitom mám konfigurací nastavenou platnost na 14 dnů. Nette
2.1. Děkuji za pomoc.
Pardon za nové založení tématu, dnes fórko nějak zlobí…
Authenticator – mluví sám za sebe
<?php
use Nette\Security as NS;
class Authenticator implements NS\IAuthenticator
{
/**
* Autorizace uživatele
* @param array
* @return Nette\Security\Identity
* @throws Nette\Security\AuthenticationException
*/
public function authenticate(array $credentials)
{
list($username, $password) = $credentials;
// will select the right row
$fluent = dibi::select('*')
->from(UsersManager::TABLE)
->where('username=%s', $username);
$row = $fluent->fetch();
// check, if the user exist
if (!$row) {
throw new NS\AuthenticationException("Uživatel '$username'
nenalezen.", self::IDENTITY_NOT_FOUND);
}
// check, if the provided password is right againts hash
if ($row->password !== $this->calculateHash($password)) {
throw new NS\AuthenticationException("Nesprávné heslo.",
self::INVALID_CREDENTIAL);
}
unset($row->password);
return new NS\Identity($row->id, $row->acl, $row);
}
public function calculateHash($password)
{
return md5($password . str_repeat('CENSOREDcensored', 10));
}
}
Konfigurace platnosti sessions v config.neon
common:
nette:
session:
autoStart: smart
expiration: 14 days
- leninzprahy
- Člen | 150
Na kolik máš nastaveno session.gc-maxlifetime?
edit:
Ale, pokud to nastavíš na víc, než je maxlifetime, mělo vy to vyhodit
varování, viz https://github.com/…nSection.php#L197
Editoval leninzprahy (22. 1. 2014 15:33)
- Barbarossa
- Člen | 74
Ahoj,
mám stejný problém. I když mám nastavenou expiraci až do zavření
prohlížeče nebo třeba 7 dní, tak po určitém čase (řek bych že
náhodném) dojde k odhlášení.
LogoutReason vrací v tomto případě NULL.
- David Kudera
- Člen | 455
Nemůže to být tímto? U mě to zabralo..
Čili řešení to, co píše @duke, jen jiný důvod
Edit: no jiný vlastně ani ne…
Editoval David Kudera (13. 11. 2014 14:06)
- Barbarossa
- Člen | 74
David Kudera napsal(a):
Nemůže to být tímto? U mě to zabralo..
Čili řešení to, co píše @duke, jen jiný důvod
Edit: no jiný vlastně ani ne…
Díky, to je přesně ono.