Citat:
Originalno napisao webarto
Ne mogu da shvatim kako ne možeš da uradiš preko sesija (server side cookies). Na svaki request, ako nije logovan, pamti URL, kada prodje login metodu, redirektuj ga na taj URL, i obriši URL iz sesije.
|
Nisi citao pazljivo.. Zamisli sajt , aplikaciju koja je slozena i ima 3 razlicite login forme. ako odes na jednu login formu a kasnije na drugu , ona pamti url iz prve a to je velika greska.
Pomislio sam da gresim da se to resava mozda na neki drugaciji nacin pa sam hteo da proverim...
Evo primera, smislio sam na brzinu, mislim da ce oslikati sta sam hteo reci, jer je realnost dosta komplikovanija. Zamislimo sajt sa dva pristupa logovanju:
http://localhost/projekat/company/login
http://localhost/projekat/admin/login
.....
Logovanje na ove forme te salje u razlicite delove app, tako da admin ne moze da pristupi u delu company a company ne moze kod admina...
I zamisli da sad odes na
http://localhost/projekat/company/moj-profil
, on vidi da nisi logovan pa lepo zapamti deo url-a... a ti onda kazes, ma cekaj odoh u admin i ukucas
http://localhost/projekat/admin/login ... popunis podatke, a posto session zapamtiio URI
pokusa ovo, posle uspesnog logovanja
http://localhost/projekat/admin/moj-profil (a ovo nikako ne zelimo)
Jedno resenje je da ispitam da li recimo rec
admin postoji u url koji je u session, ako ne postoji radi neku default redirekciju... a tu je i problem ako neko upise recimo
http://localhost/projekat/admin/bla-bla-bla
Posle redirekcije bacice ga na ovu glupu adresu. Fora je sto imam 3 login forme...
Zato sam hteo da pitam jel ima neki dobar nacin za resavanje, cisto da proverim.
Iako su dobra resenja ja ipak moram da proveravam da li url pripada toj app ako ne, default url. To je izgleda najbolje...