dočasní uživatelé pro demo verzi aplikace
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- microcz
- Člen | 62
Mám otázku, která se týká spíše návrhu než nette samotného…
Popis situace
- Ve své aplikaci mám s uživatelem spojenu tabulku AppUser, která ma klasicky id, roli, email…
- Login provádím pomocí Sign:in a UserManager, kde po ověření uživatele vyhodím Identity objekt (id, role)
Co potřebuji udělat
- Zpřístupnit části aplikace, které jsou přístupné jen přihlášenému uživateli komukoliv na prohlédnutí automatickým přihlášením tzv demo uživatele
Jak to řeším
- založil jsem uživatele demo v roli demo
- nahrál jsem uživateli testovací data
- roli demo jsem nastavil aby fungovala jen v „read-only“ módu (na uživatelské operace)
- pokud návštěvník klikne na „Live DEMO“ odkaz, přihlásí se automaticky jako demo uživatel
V čem je háček
- Více lidí najednou sdílí jeden demo účet, takže se mohou navzájem odhlašovat z aplikace
Jak to chci řešit?
- Chtěl bych nějak pohodlně dynamicky vytvářet dočasné uživatele, např „demo1“, „demo2“… bez jejich ukládání do databáze
- Chtěl bych aby všichni tito dočasní/virtuální uživatelé sdíleli data s původním uživatelem „demo“ ..jinými slovy aby se z pohledu databáze jednalo pořád o tohoto uživatele
- Chtěl bych uvedené instance uživatelů recyklovat (demo1 se odhlásí tak se zase použije)
- Vidím to tak, že si stejně budu muset v databázi vést záznam o tom, jaký virtuální uživatel je přihlášen a podle toho přidělovat volná čísla
- Jak ale zařídím aby tito virtuální uživatelé působili jako odlišné účty a přitom sdíleli stejné id přes identity?
Dáte návrhy? :)
- Pavel Kravčík
- Člen | 1196
Tak teoreticky Ti stačí mít více sessions, ne? Najdi místo, kde se to ukládá do sušenky a změň to na podmínku, když je uživatel demo. Například k tomu klíči podle kterého se to ukládá přidej IP adresu.
Všichni budou demo, ale přihlášeni budou všichni separátně.