Ja radim preko sesija. Kada se otvori (bilo koji) URL, proverava se da li je otvoren deo za logovanje (login forma, logout URL, provera šifre i skoro sve ostalo vezano za logovanje) ili da li je u pitanju AJAX zahtev. Ako jeste bilo šta od toga, onda ništa, a u suprotnom se trenutni URL pamti u sesiju, i onda se posle logovanja samo redirektuje na zapamćeni URL.
I meni se dešava redirektovanje na pogrešnu stranu, kada npr. neko pregleda sajt u više tabova pa otvori neku stranicu koja zahteva login, a onda bude redirektovan na formu za logovanje, pa tek onda otvori u drugom tabu neku drugu stranicu - onda posle logovanja bude redirektovan na tu stranicu iz drugog taba.
Meni ovo nije preterano veliki problem, ali verujem da bi se moglo rešiti tako što bi se, kada se otvori login forma, u hidden polje upisao URL na koji treba da se redirektuje (koji do tada čuvamo u sesiji), a posle logovanja se pročita to hidden polje i redirektuje se gde treba