User stack – přihlášení za někoho jiného
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- thunderbuff
- Člen | 164
V aplikaci potřebuji funkci, která umožní adminovi přihlásit se za libovolného jiného uživatele. Odhlášením z uživatelova účtu by se měl přepnout zpět do svého. Řeší Nette 2.0.3 tento problém? Pokud ne, poradíte, jak to efektivně a bezpečně řešit?
Editoval thunderbuff (25. 7. 2012 19:49)
- Jan Endel
- Člen | 1016
Tuto funkci používám ve své aplikaci pro přihlášení bez hesla za jakékoliv ID.
public function automatedLogin($user)
{
if (!($user instanceof User)) {
//volani funkce dej mi uzivatele na zaklade jeho id s validaci jestli je id int
}
$identity = new Identity($user->id, $user->role->name, $user->toArray());
$this->user->login($identity);
}
- thunderbuff
- Člen | 164
Díky za tip! Nakonec jsem to vyřešil dost podobně, nějak takhle:
<?php
$current_user->getStorage()->setIdentity(new Nette\Security\Identity($userData['userid'], $roles, $userData));
?>