• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Aplikacja webowa przy uzyciu JavyEE oraz Tomcat - przekierowanie na inna strone po walidacji uzywajac j_security_check

Object Storage Arubacloud
+1 głos
363 wizyt
pytanie zadane 5 maja 2017 w Java przez DawidyBankowe Nowicjusz (150 p.)

Witam wszystkich forumowiczów.
Zwracam się z dość złożonym pytaniem, odnośnie aplikacji webowej w technologii JavaEE na serwerze Tomcat.

Mam taką sytuację: w aplikacji mając formularz logowania na stronie głównej (t.j. index.jsp) używając walidacji tomcata - form based authentication co powoduje użycie w atrybucie action="j_secutiry_check", gdzie odbywa się walidacja, następnie w pliku web.xml zdefiniowane są strony(lub serwlety) do których dostęp jest chroniony. Chciałbym, aby przekierowanie na owe strony nastąpiło własnie z tej strony głównej gdzie jest formularz(index.jsp) (bo wiem, ze idzie zrobić odnośnik typu"zaloguj" po którym pokaże się osobna strona z formularzem i wtedy przekieruje mnie na żądana stronę), ale mi właśnie chodzi o to, żeby działo się to na stronie głównej. Dzieje się tak, że jeżeli wpisze wartości do formularzy i kliknę zaloguj to przenosi mnie pod link .../j_secutiry_check który wyrzuca błąd przekierowania: „HTTP Status 400 - Invalid direct reference to form login page”, a jeżeli sam, ręcznie wpiszę link: .../login (tak nazywa sie serwlet odpowiedzialny za przekierowanie) to wtedy wypełniając formularz i logujac sie, prawidłowo przekierowuje mnie na żądaną stronę, więc moje pytanie brzmi: Czy jest możliwe rozwiązanie tego problemu używając tomcat-a? Z góry proszę nie odsyłajcie mnie na stacka, ponieważ nie znalazłem tam rozwiązania nie musząc używać glassfish-a, a jestem uparty i bardzo chciałbym zrobić aby działało logowanie ze strony głównej, z góry dziękuję za odpowiedzi i konstruktywną krytykę jeszcze podsyłam linki z fragmentami kodu:
fragment pliku index.jsp: https://pastebin.com/HMQnD0Pk

fragment pliku web.xml: https://pastebin.com/QFMdQaP0

Plik serwletu: https://pastebin.com/SCyWUns8

1 odpowiedź

0 głosów
odpowiedź 21 lutego 2018 przez rams Nowicjusz (140 p.)
Stary temat ale zostawię informację dla szukających.

Powodem wyrzucania błędu przez Tomcata jest to, że kierujesz się bezpośrednio do strony logowania. Jeśli chcesz się zalogować to musisz się kierować do obszarów, które są dostępne po zalogowaniu. Wtedy Tomcat automatycznie Ciebie przekieruje do strony logowania jeśli nie jesteś zalogowany. W pliku web.xml i sekcji  <security-constraint> ustawiasz obszary do których jest wymagane logowanie.

Podobne pytania

0 głosów
1 odpowiedź 206 wizyt
0 głosów
1 odpowiedź 430 wizyt
pytanie zadane 12 lutego 2020 w Java przez Fortitudo Nowicjusz (160 p.)
0 głosów
1 odpowiedź 424 wizyt
pytanie zadane 9 czerwca 2018 w Java przez trebuhhh Użytkownik (740 p.)

92,755 zapytań

141,676 odpowiedzi

320,412 komentarzy

62,100 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...