Професионална програма
Loading...
+ Нов въпрос
antonsgeorgiev avatar antonsgeorgiev 3 Точки

Redirection Filter - infinite loop

Здравейте, 

Имам затруднения с имплементацията на следния flow:

2 JSP Pages - Home.jsp and Login.jsp

 

При достъпване на Home page-а без store-нати атрибути в сесията -> redirect to Login page.

При въвеждане на правилни credentials (сравнявам ги с hardcoded стойности) -> redirect to Home page.

При въвеждане на НЕправилни  credentials - redirect to Login page again.

 

Имам проблем с това да направя Filter-a на Login страницата така, че когато тя бъде заредена с username and password == null да ми даде да вкарам някакви стойности в полетата, а не моментално да извика redirect-a към същата логин страница отново и отново и отново...

 

Когато направя всичко 1:1 с лекцията при мен redirect loop-ът остава.

 

Поздрави,

Антон 

Тагове:
0
Java Web Development
TodorovH avatar TodorovH 216 Точки

Направи филтъра да слуша HomePage и ще се оправи, иначе постоянно влиза в логина, при което юзъра и пасса са нула и ти редиректва към логина и така постоянно докато крашне!

0
antonsgeorgiev avatar antonsgeorgiev 3 Точки

Проблемът е, че ако сложа филтъра да слуша само Home-a, когато направи редиректа към Login-a, там няма логика която да оказва какво да се случва при правилни/грешни креденшъли... 

0
deyan.zhekov avatar deyan.zhekov 159 Точки

Здравей,

целта на задачата беше да упражните филтрите като конструкция, но наистина задачата в това й условие води до loop. Ако искаш да я реализираш до край го направи с 2 филтъра - един да прихваща всички освен login request-а и да проверява дали има потребител в сесията и ако няма да праща на login, а другият да проверява дали login-а е наред и да препраща към home page-а.

0
antonsgeorgiev avatar antonsgeorgiev 3 Точки

Благодаря за отговора.

Аз също се насочих към този подход, но проблемът ми е, че като отворя Homepage-a без потребител в сесията той ме редиректва към login page-a, но там другия филтър слуша дали имам някакви данни, а аз нямам такива, което води отново до inf loop.

0
naskoni avatar naskoni 68 Точки

И аз имах подобен проблем, ползвах 1 филтър за двете страници. За да избегна loop, трябваше да проверявам дали имам login request:

String loginURL = request.getContextPath() + "/pages/LoginForm.jsp";                
boolean isLogginRequest = loginURL.equals(request.getRequestURI());

 

 

0