K čemu je třída Web\User? Jak souvisí s Identity?
- Šaman
- Člen | 2659
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
Uf, tak poporiadku:
Trieda User
zastresuje pracu s autentifikaciou a autorizaciou a
udrzuje Identity
, ktora reprezentuje samotneho uzivatela.
- Šaman
- Člen | 2659
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)