Prihlasenie admina do uzivatelskeho konta
- japlavaren
- Člen | 404
ahoj,
mam na projekte funkciu kde sa admin dokaze prihlasit za hociktoreho
uzivatela v systeme a vidiet tam, co vidi uzivatel. Mal som to vyriesene ze ak
je v query uid
tak sa v BasePresenter
pretazila
metoda getUser
a vratila inu identitu.
Nette 3.0 ma metodu getUser
oznacenu ako final
takze uz ju nedokazem pretazit. Napada niekoho jednoduchy sposob ako toto
vyriesit?
Toto je kod, ktory som tam mal povodne:
public function getUser(): Security\User
{
$user = parent::getUser();
// Admin user can sign in like normal user when there is uid parameter
if ($this->uid && $user->isInRole(IRegistrationType::REGISTRATION_ADMIN)) {
$userEntity = $this->userRepository->getById($this->uid);
$identity = $user->authenticator->authenticate([$userEntity]);
$user = new Security\User(new DisposableUserStorage());
$user->getStorage()->setIdentity($identity);
}
return $user;
}