Priklad MyAutenticator: co je to self::USERNAME?

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

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

ras
Člen | 135
+
0
-

oprava definice konstanty je spravne takto:

const USERNAME = „nekdo“;

const PASSWORD = „heslo“;

22
Člen | 1478
+
0
-

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

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…

ras
Člen | 135
+
0
-

22: Ja to cetl, ale cist a pochopit ci vycist obsah mezi radky to neni 1 : 1 … polopatismus je obcas fajn.

Kravco: Diky za vysvetleni v polopatismu.

Takze pokud to dobre chapu, tak timto zpusobem si je naplnuji?

Editoval ras (24. 4. 2011 9:39)

22
Člen | 1478
+
0
-

osbně v tom nevidím žádný rozdíl, co napsal Kravčo a co je v dokumentaci. Ale možná jsem to měl přeložit do Slovenštiny :-))

ras
Člen | 135
+
0
-

;o) Ne, lepsi by byl hantec, ten je memu rodisti blizsi ;o)

22
Člen | 1478
+
0
-

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

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)