Prihlášeni admina jako uzivatel

turbo80
Člen | 50
+
0
-

Ahoj,
potrebuji poradit mam Frontend/Backend prihlaseni v pohode, ale ted potrebuji.
Aby se dokazal admin prihlasit z backendu jako klient na frontend, vubec netusim jak.
Muzete mi prosim poradit jak pripadne zmenit identitu.

Vsem dekuji za pripadne rady.

David Matějka
Moderator | 6445
+
0
-

Ahoj, do $user->login() můžeš namísto údajů rovnou předat instanci Identity, kterou vytváříš v authentizátoru. Takže zkonstruuješ tu stejnou identitu, jen nebudeš ověřovat údaje.

turbo80
Člen | 50
+
0
-

@DavidMatějka nejak nechapu jak to myslis? kdyz pridam jinou identitu bez overeni tak vytvorim identitu daneho klienta ale ztrati se me identita admina. kazda cast ma vlasni storage namespace. jedine ze bych udelal presmerovani na frontend a pak vytvarel identitu.
Napriklad:

  • Prihlaseni za klienta:

    redirect(:Frontend:Pristup:login $hash⇒ ‚unikatni hash klient‘)->vytvoreni identity->login

  • Odhlaseni za klienta:

    logout na frontendu a presmerovani zpet do adminu – to uz neni podminkou

Takhle by to asi slo?? nebo by jsi to resil jinak? Diky za mozne nakopnuti ;)

Editoval turbo80 (4. 3. 2021 13:28)

David Matějka
Moderator | 6445
+
0
-

před nastavením té identity změn storage namespace na frontend a pak přesměruj na frontend.

turbo80
Člen | 50
+
0
-

@DavidMatějka
myslis to napriklad takto

public function handleKlientLogin($hash)
{
	overim hash a nactu data klienta

	$user = $this->getUser();
	$user->getStorage()->setNamespace('frontend');
	$user->login(new Identity($user->id, $user->role, ['username' => $user->username]));
	$this->redirect(....);
}

Editoval turbo80 (4. 3. 2021 13:39)

David Matějka
Moderator | 6445
+
+1
-

jj, jen si nepřepisovat proměnnou $user :)

turbo80
Člen | 50
+
0
-

David Matějka napsal(a):

jj, jen si nepřepisovat proměnnou $user :)

@DavidMatějka
Dekuji za radu funguje to jak ma.