K čemu je třída Web\User? Jak souvisí s Identity?

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

Ahoj, vždycky jsem si vystačil s autentizací ze skeletonu, ale teď bych potřeboval udělat z uživatelů zdroje (IResource), tak jsem si vytvořil vlastní třídu User. No, ta koliduje s Web\User a já přemýšlím, k čemu ta třída vlastně je? A jestli souvisí s přihlášeným uživatelem a bezpečností, tak proč je pod Web a ne Security? A proč, když máme uživatele přímo ve frameworku, tak se ve skeletonu používá Identity?

Omlouvám se za obecné otázky, ale trochu v tomhle tématu plavu. Jestli je to někde vysvětleno, tak sorry, já to nenašel. Díky.

westrem
Člen | 398
+
0
-

Uf, tak poporiadku:

Trieda User zastresuje pracu s autentifikaciou a autorizaciou a udrzuje Identity, ktora reprezentuje samotneho uzivatela.

Šaman
Člen | 2659
+
0
-

Díky. Takže jestli to chápu, tak IDENTITY je uživatel, chci-li si vytvořit vlastní třídu na přihlašování a správu uživatelů, budu nejspíš dědit z ní, nebo používat rozhraní IIdentity.

USER je relativně nízkoúrovňová třída pro práci se session, resp. pro udržování identity v session? Tj, když chci vytvořit vlastní třídu na přihlašování a správu uživatelů, nejspíš na ní šahat nebudu.

User je singleton, tj. vždy jen jeden. U Identity jsem toto omezení nenašel, takže je možné pracovat s Identity tak, že si z databáze načtu hodnoty, vytvořím instanci a pak jí buď zkusím přihlásit, nebo třeba použít jako Resource? (viz. rozhraní IResource. Toho bych právě potřeboval dosáhnout.)


Edit: Ještě koukám, že Environment::getUser() mi vrátí skutečně instanci User, nikoliv Identity. A z předchozích pokusů se mi zdá, že při autentizaci se mi informace z objektu Identity zkopírují do objektu User a od té doby veškerá autorizace probíhá přes Usera?? (Změny v AccesListu se mi projeví až po novém přihlášení.)

Editoval Šaman (9. 9. 2010 10:46)