User::getRoles() blbne, pokud authenticate vrátí Identitu bez rolí
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- bojovyletoun
- Člen | 668
Při použití IAuthenticatoru, který nevrací žádné role(např
SimpleAuthenticator) User::getRoles vrací:
- v případě, že jsem odhlášen
User::$guestrole, což je v pořádku: - v případě, že jsem přihlášen, tak
NULLmístoUser::$authenticatedroleChybně se zkoumá
$user->identitynamísto$user->identity->roles. Po přihlášení je $identity vždy neNULLová a tak nikdy nedojde na druhou část ternárního operátoru.
zmíněný Kód):
public function getRoles()
{
if (!$this->isLoggedIn()) {
return array($this->guestRole);
}
$identity = $this->getIdentity();
return $identity ? $identity->getRoles() : array($this->authenticatedRole);
//úprava:
return $identity->getRoles() ? $identity->getRoles() : array($this->authenticatedRole);
}
Editoval bojovyletoun (6. 3. 2011 11:29)