john_doe
18.12.2013, 15:48:23
jak w teorii wykonać problem z tematu?
wysyłam link mailem. User go odbiera i klika. Nie jest zalogowany więc leci redirect na login page. Teraz powinien się zalogować i zostać przekierowany na kliknięty wcześniej link.
sowiq
18.12.2013, 15:55:57
Najprostsze rozwiązania są najczęściej najlepsze. Do adresu strony logowania możesz jako parametr GET dodać adres, na który użytkownik ma być przekierowany po zalogowaniu.
markonix
18.12.2013, 16:06:32
Ogólnie ten problem to nie jest wyłącznie domena linków w e-mailu tylko ogółem systemu autoryzacji.
Przejście na:
strona.pl/wymaga-zalogowania
powinna przekierować na stronę logowania:
strona.pl/logowanie?redirect=wymaga-zalogowania
Po zalogowaniu jeżeli redirect jest pusty to przekierowanie następuje na zwykłą stronę powitalną.
Polecam przemyśleć też zmienną w sesji - mniej podatna na manipulacje.
Generalnie jeszcze jest inna metoda - troszkę ładniejsza od strony użytkownika ale trudniejsza w wykonaniu.
strona.pl/wymaga-zalogowania
Wyświetla po prostu formularz logowania (bez przekierowania) przez wyświetlenie odpowiedniego widoku z formularzem logowania.
Wymaga to jednak aby logowanie było gdzieś globalne (w core kontrolerze) stąd takie rozwiązanie spotkałem tylko raz w aplikacji czysto strukturalnej (gdzie za pomocą include to dosyć prosto osiągnąć).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.