Event na neplatne prihlasenie
- marioff
- Člen | 69
Ahojte,
urobil som si (resp. mam hotovu polovicku) Listener kde pocuvam ci sa niekto prihlasil, cim vytvaram zoznam prihlaseni daneho uzivatela. Ak ano ulozim jeho prihlasenie. Uspesne prihlasenie viem zistit: Nette\Security\User::onLoggedIn . Ale ani za svet neviem zistit ci uzivatel nezadal zle heslo. Vie mi niekto poradit aspon nastrel ako to dosiahnut?
- bazo
- Člen | 620
$this->onErrorPassword(); je volanie metody a public $onErrorPassword; je property, nemozes len tak bez nejakej magie zavolat funkciu ulozenu v property
preto aj v nette mas taketo zapisy
public $onErrorPassword = [];
$obj->onErrorPassword[] = callback
a potom napr. v tom objekte
foreach($this->onErrorPassword as $callback) {
$callback();
}
toto ti bude fungovat vzdy aj bez magickeho nette object
- marioff
- Člen | 69
bazo: uz tomu trochu rozumiem – v aplikacii sa pouziva Kdyby Events, tak som chcel aby bol Listener v samostatnom subore v Modeli aby to bolo vsetko na jednej hromadke (lebo tam sa pocuva aj uspesne prihlasenie).. ale zatial sa ucim tak este tomu nerozumiem dokonale, snad niekedy budem radit ja ostatnym :)
- bazo
- Člen | 620
v tom callbacku mozes kludne dispatchnut aj event cez kdyby a mat listener
zvlast, len to uz je trosku komplikovane.
neviem ci kdyby nemeni vsetky onNieco na svoje vlastne eventy.
ale kazdopadne v tom authenticatore mozes spravit nieco ako
<?php
if($password !== $expected) {
$this->evm->dispatchEvent('WRONG_PASWORD_EVENT', $args)
}
?>
- Filip Procházka
- Moderator | 4668
@marioff pokud chceš vědět jak fungují kdyby/events, tak koukni na tohle video :)
- marioff
- Člen | 69
Filip Procházka napsal(a):
@marioff pokud chceš vědět jak fungují kdyby/events, tak koukni na tohle video :)
jeeee, super video , si ma inspiroval aj s tym message queue … velmi pekne dakujem
Editoval marioff (19. 12. 2014 15:51)
- marioff
- Člen | 69
nechcem kvoli tomuto zakladat novu diskusiu.. opitam sa tu:
je mozne nejak pocuvat iba zmenu jednej property v entite (Doctrine 2)? nechcem to riesit v listeneri cez onPreUpdate, lebo zbytocne sa potom bude volat pri akejkolvek zmene v entite, aj takej co sa v danom listeneri riesit nebude..
Editoval marioff (20. 12. 2014 20:17)
- Filip Procházka
- Moderator | 4668
@marioff přímo Doctrine umí listenery na konkrétní entity, stačí ji dát do annotace a pak zaregistrovat jako službu, Kdyby/Doctrine zařídí, aby se tam ta třída z DIC dostala.
Naslouchat ale na jednu konkrétní property moc dobře nejde, je to maličko složitější. Můžeš si o tom počíst tady http://docs.doctrine-project.org/…olicies.html – tohle s tím nesouvisí úplně na 100%, ale myslím že je to relevantní.