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
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.