Autor Zpráva
JejKub
Profil *
Ahoj, mám aplikaci, která podle přístupových práv zobrazuje určitý obsah. Práva jsou uložena v DB pro každého uživatele. Jak to co nejefektivněji udělat, co se týče rychlosti:

1) Na každé konkrétní stránce se z DB vyberou práva a zkontrolují se.
2) Při přihlášení se práva uloží do sessions a pak už se pracuje pouze s nimi.

Co myslíte. První má teoretickou nevýhodu, že při každém načtení stránky budeme přistupovat do DB. Druhý už načítá jen sessions. Ale v podstatě obojí je načítání nějakých souborů z disku, tak nevím, jestli zde je nějaký rozdíl. První varianta dovoluje změnit práva bez odhlášení a znovu přihlášení. Co bezpečnost? Není nebezpečné používat pro tento účel sessions?

Díky za reakce
Jozin
Profil *
Ahoj,

první varianta bude určitě pomalejší, protože odesíláš dotaz, který se musí vyhodnotit, kdežto session ti rovnou hodí data, která v sobě má. Navíc čím víc bude uživatelů, tím víc bude rozdíl rychlosti mezi těmito řešeními razantnější.

Nesouhlasím stebou, že musíš použít první způsob, aby si mohl měnit přístupová práva živě... U druhého řešení prostě po změně DB aktualizuješ session a funguje to taky ;).

Které řešení je lepší... No to sám nevím, nikdy jsem neudělal až tak velkou aplikaci, aby mi vadil ten jeden dotaz na začátku, ale jsem zvyklý řešit to pomocí session. Pokud jde o bezpečnost, tak jde o to jak vkládáš informace do session.

Já bych se tedy přimluvil za session, ale určitě se někdo ukáže, kdo řekne, že by šel spíš do db. :)

btw: Pokud je to malá aplikace klidně to udělej přes db, jestli už je poměrně velká a má hodně uživatelů, tak z hlediska rychlosti bude lepší session ;)

Jozin.
xmark
Profil
První varianta je hodně zvláštní a nenapadá mě žádná její výhoda. Nezmínils jednu zásadní nevýhodu - uživatelské jméno a heslo budeš muset předávat v adrese.
Jozin
Profil *
xmark: Předávat uživatelské jméno a hash hesla například ještě s nějakým řetězcem navíc se dá i session proměnnými. Pokud jsem pochopil otázku, tak jde o to jak zjišťovat oprávnění uživatele (čtením z db, nebo ukládáním do session)
xmark
Profil
Jozin:
Předávat uživatelské jméno a hash hesla například ještě s nějakým řetězcem navíc se dá i session proměnnými. Pokud jsem pochopil otázku, tak jde o to jak zjišťovat oprávnění uživatele (čtením z db, nebo ukládáním do session)

Jistě, dá. Čtu si to ještě jednou a napoprvé jsem to špatně pochopil. Takže #3 je trochu od věci.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0