Proč mi nefungují práva?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- lukyn94
- Člen | 30
Zdravím nejde mi prostě zaboha ve verzi 2.2.6 práva uživatelů o co se
snažím ?
Snažím se že v presentru potřebuji co může ovládat admin a co
guest .
if($this->getUser()->isInRole('admin'))
{
echo'admin';
}else{
echo'guest';
}
(Když změním práva v adminéru na „guest“ furt vidím „admin“.)
- David Matějka
- Moderator | 6445
Predpokladam, ze pouzivas authenticator z sandboxu (respektive ze pouzivas
standartni identitu Nette\Security\Identity)?
Ta se totiz pri prihlaseni serializuje do session. Pokud tedy po prihlaseni
provedes nejakou zmenu, neni to v teto identite reflektovano. Zkus se odhlasit
a uvidis :)
Pokud chces mit v identite stale cerstva data, viz https://forum.nette.org/…dem-pristupu#…
- David Matějka
- Moderator | 6445
Ano, nebo me napada, ze muzes pri kazdem requestu aktualizovat session, do startupu nejakyho base presenteru dej
$user = $this->userModel->fetchOneBy(['id' => $this->getUser()->getId()]);
$this->user->identity->setRoles(array($user->role));