Priklad MyAutenticator: co je to self::USERNAME?
- ras
- Člen | 135
Ahoj vsem,
coby zacatecnik s Nette si procitam kde co a mimo jine i stranku o autentizaci.
Chtel bych se zeptat, co je to presne
self::USERNAME
self::PASSWORD
self::INVALID_CREDENTIAL
atd. v uvedenem priklade v public function authenticate(array $credentials) ?
To jsou konstanty? Tj. mely by byt v danem priklade tez nastaveny jako
static const USERNAME;
static const PASSWORD;
atd. ?
Nebo je to neco jineho? Ci staci jejich iniciovani tak jak je uvedeno v prikladu
- 22
- Člen | 1478
však jsou definovány v rozhraní, stačí pořádně číst:
Aby příklad fungoval, je potřeba napsat rutinu, která provede ověření
uživatelského jména a hesla. Této rutině se říká autentizační handler
a jde o objekt implementující rozhraní Nette\Security\IAuthenticator. To má
jedinou metodu login(). Implementace, která ověřuje přihlašovací údaje
oproti databázové tabulce, může vypadat třeba takto: …
Editoval 22 (24. 4. 2011 9:29)
- kravčo
- Člen | 721
Konštanty dedí MyAuthenticator
v príklade od rozhrania
IAuthenticator
v ktorom sú riadne
definované. Sú to indexy do poľa $credentials
a ich hodnoty
sú internou záležitosťou frameworku…
- 22
- Člen | 1478
Aby příklad fungoval, je potřeba napsat rutinu, která provede ověření uživatelského jména a hesla. Této rutině se říká autentizační handler a jde o objekt implementující rozhraní Nette\Security\IAuthenticator. To má jedinou metodu login(). Implementace, která ověřuje přihlašovací údaje oproti databázové tabulce, může vypadat třeba takto:
Hantec:
Aby příklad fachčil, je potřeba naškrabat rutinu, která uvaří ověření
ména a hesla člena sajtny. Tuhle rutinu kólujem autentizační handler a de
o objekt s rozhraním Nette\Security\IAuthenticator. To má sólovku
login()…
- studna
- Člen | 181
ras napsal(a):
Takze pokud to dobre chapu, tak timto zpusobem si je naplnuji?
Konstanty dědíš od předka. Btw jsou taky pro lepší čitelnost kódu. Ono
$credentials[ self::USERNAME ]; // řádek sám o sobě říká, že vrací USERNAME
vypadá jinak než
$credentials[ 0 ]; // řádek říká, wtf..
Ale fungují stejně. Ovšem pokud by došlo k nějaké změně uvnitř frameworku a hodnoty by byly uloženy na jiných indexech, tak druhý řádek ti přestane fungovat.
Editoval studna (24. 4. 2011 10:41)