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
+
0
-

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)

Ot@s
Backer | 476
+
0
-
Jan Endel
Člen | 1016
+
0
-

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
+
0
-

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));

?>