Automatické přihlášení po registraci – kruhová závislost
- lunak83
- Člen | 47
Zdravím, přihlašujete prosím někdo uživatele po registraci?
Mám:
- Authenticator
- Model User
Model User mi zpracuje registraci uživatele, požádá si Authenticator o výpočet hashe hesla a uloží data do databáze.
Teď jsou tam následující potíže:
- Authenticator se při kontrole správnosti údajů ptá modelu User na getUser($username) – kruhová závislost. To vyřeším (snad správně) hasheováním hesla buď v Userovi nebo samostatné třídě.
- Uživatele potřebuji automaticky přihlásit a to je ještě větší problém. V modelu User uložím data do DB a pak potřebuju zavolat Authentizátor aby mi vrátil identitu. Jak to ale udělám abych tam neměl právě tu kruhovou závislost?
Poradíte mi prosím někdo jak tenhle problém vyřešit, nebo obejít?
Díky za každou radu.
Editoval lunak83 (16. 2. 2014 18:52)
- Vojtěch Dobeš
- Gold Partner | 1316
Já bych nechal Authenticator
, aby si vyžádal
UserRepository
, zatímco registrace by se prováděla v
UserRegistrator
, který si pak klidně může vyžádat
User
na automatické přihlášení. To může mimochodem výhodné
provádět pouze v případě, že uživatel ještě není přihlášen, metoda
se dá pak použít i pro registraci někým jiným v administraci atd.
- lunak83
- Člen | 47
Děkuji za odpovědi, ta poznámka o přihlášeném uživateli mě zatím vůbec nenapadla :-)
Jen bych poprosil Vojtěcha jestli by mi ještě upřesnil: „který si pak klidně může vyžádat User na automatické přihlášení“ – tzn, že to samotné automatické přihlášení a získání Identity, bys řešil kde?
- Vojtěch Dobeš
- Gold Partner | 1316
V tom UserRegistrator
. Pro sestavení Identity
si
může stejně jako Authenticator
vyžádat
UserRepository
. K žádné kruhové závislosti by myslím nemělo
docházet.