Unikátní session pro každou aplikaci

- Šaman
 - Člen | 2668
 
Narazil jsem na problém způsobující nefunčnost aplikace pokud na
stejném stroji běží dvě aplikace postavené na Sandboxu s defaultním
configem. Vznikl kombinací nevymazání posledních přihlášených identit a
společné session. Už to někdo řešil zde,
ale toto vlákno je uzavřené. Proto se chci podělit tady s fičurou, kterou
jsem objevil metodou pokus-omyl. Vypadá to, že lze v Nette nastavit
unikátní session pomocí parametru name v configu:
<script>
	session:
		autoStart: true
		expiration: 14 days
		name: jmenoAplikace  <---
</script>
Je nějaký důvod nepoužívat pojmenované (unikátní) session? Případně nebylo by vhodné tento parametr zavést do Sandboxu?

- Šaman
 - Člen | 2668
 
Jestli jsem to správně pochopil, tak tohle dělá trochu něco jiného.
Nastavuje to session pro uložení identity. Nenastane pak ale stejný prolém,
pokud budu do Session ukládat nějaká data? V jedné aplikaci si nastavím
třeba $theme = 'black' a druhá mi vyhodí chybu, protože
žádné černé téma nezná, ale přitom používá stejnou fučuru pro
pamatování témat.
Skutečně cítim větší pocit jistoty a bezpečí, když vím, že každé session jsou pro každou aplikaci unikátní. A pokud bych chtěl mezi uživateli session sdílet, tak stále mohu nastavit namespace. Anebo mi něco uniká – v dokumentaci jako obvykle moc informací není.

- creveta
 - Člen | 6
 
@enumag: Typický možný prípad pre 2 moduly s úplne oddelenou autentizáciou (a identitami) je rozdelenie pre frontend a backend (zákazníci a užívatelia – 2 tabulky v DB)
@Šaman: máš konkrétnu požiadavku(y) prečo to musia byť 2 oddelené sessions? Ja používam jednu session pre oba moduly s príslušými sekciami a zatiaľ som nepostrehol negatíva. Opravte ma ak som na niečo zabudol.

- Šaman
 - Člen | 2668
 
Já nemám dva moduly, mě se teď na localu prostě načetly neznámé role z nové aplikace (zkoušel jsem ACL GUI) do staré aplikace a já si lámal hlavu proč mi najednou hází výjimky, když to bylo odladěné a serveru to běží. Ve svých aplikací sekce nepoužívám, takže jsem to vyřešil přidáním toho řádku co configu. A napadlo mě, že to už budu používat jako best practise, pokud mi tu někdo nevysvětlí, proč bych neměl.

- enumag
 - Člen | 2118
 
@creveta: O tom samozřejmě vím, ale považuji to za špatnou praktiku. Raději to řeším autorizací.
@Šaman: Mnohem lepší by bylo nastavit si localhost tak abys to měl na různých (sub)doménách, potom se ti ty sessions nebudou mezi sebou překrývat.
Editoval enumag (29. 1. 2013 19:48)