Ako a kde implementovat callback onLoggedIn a onLoggedOut?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
pseudonym
Člen | 57
+
0
-

Ahojte,
chcel by som logovat prihlasovanie a odhlasovanie pouzivatelov do databazy, nasiel som v dokumentacii sposob akym by sa to dalo – https://doc.nette.org/…thentication#… – len nejako neviem kde mam tieto callbacky „zavesit“ a ako ich implementovat.

Viete mi niekto poradit? Vopred dakujem za pomoc

Casper
Člen | 253
+
0
-

Jde o tyto callbacky. Tedy například v presenteru:

$this->user->onLoggedIn[] = callback(/* the callback */);

Případně si můžeš službu user (Nette\Security\User) někam injectovat a callback navázat tam.

Filip Procházka
Moderator | 4668
+
0
-

A nebo použiješ Kdyby/Events a napíšeš si listener :)

class UserLoggingLoginListener extends Nette\Object implements Kdyby\Events\Subscriber
{

	public function getSubscribedEvents()
	{
		return array(
			'Nette\Security\User::onLoggedIn',
			'Nette\Security\User::onLoggedOut',
		);
	}

	public function onLoggedIn(Nette\Security\User $user)
	{
	}

	public function onLoggedOut(Nette\Security\User $user)
	{
	}

}
services:
	userLoggingLogin:
		class: UserLoggingLoginListener
		tags: [kdyby.subscriber]