Aktuální identita v nette/security 3.1.2

Pepiik
Člen | 10
+
0
-

Ahoj,

Potřeboval bych poradit jakým způsobem by se dala aktualizovat identita u přihlášeného uživatele při každém požadavku. Doteď jsem to řešil takto, ale v aktualizaci doško k větším změnám a nevím jak to jednoduše vyřešit.

Metoda reauthenticate mi kontrolovala to jestli uživatel není zablokovaný a vracela aktuální identitu s aktuální rolí a daty z db.

`    public function checkRequirements($element): void
    {
        parent::checkRequirements($element);

        if ($this->user->isLoggedIn()) {
            try {
                $this->user->getStorage()->setIdentity($this->userManager->reauthenticate($this->user->getId()));
            } catch (Nette\Security\AuthenticationException $e) {
                $this->user->logout(true);
                $this->redirect('Sign:in');
            }
        }
    }`

V nove SessionStorage už metoda setIdentity není dostupná.

Díky

Marek Bartoš
Nette Blogger | 1146
+
+1
-

https://forum.nette.org/…3-1-je-venku

Tady David píše, že stačí, aby Authenticator implementoval IdentityHandler

Pepiik
Člen | 10
+
0
-

@Mabar Dík moc za nasměrování, to je přesně to co potřebuji.

Aktualizaci identity jsem přesunul do metody wakeupIdentity