Как да запазите низ на заявка след влизане (с помощта на `userService` на Google) на машината на приложения с помощта на Java?

Разработвам приложение в Java на GAE (Google App Engine). Имам JSP, където използвах userService на Google за обработка на удостоверяване чрез gmail акаунта, това работи добре и потребителите могат да влизат с Gmail акаунт.

Използвах userService.createLoginURL(request.getRequestURI()), за да създам URL адреса за влизане.

Моето изискване е да добавя някакъв параметър на заявката в края на основния URL адрес на моето приложение и да изпратя този URL адрес на потребителя, това има за цел да отведе потребителя до конкретна страница с информация, извлечена от база данни въз основа на параметъра на заявката след влизане.

Въпреки това, когато потребителят не е влязъл и отвори URL адреса (имащ низ на заявка), тогава той го отвежда до страницата за влизане и след влизането трябва да отиде на тази конкретна страница, но след влизане низът на заявката се губи и просто отвежда потребителя до началната страница, която не е предназначена за този случай.

Как мога да избегна това? Има ли решение за това или това е просто ограничение на App Engine?


person Raghvendra Kumar    schedule 19.08.2014    source източник
comment
Ако посочите, че страниците изискват влизане в web.xml, той автоматично ще удостовери потребителя, след което ще ви изпрати на страницата с вашите оригинални параметри: developers.google.com/appengine/docs/java/config/   -  person Ryan    schedule 19.08.2014
comment
Благодаря за линка. Прегледах статията обаче, тя няма никакъв пример за това как да се наложи влизане в web.xml. Аз съм начинаещ, малък пример за това как да се посочи ограничение за влизане в web.xml на машината на приложението ще бъде много оценено.   -  person Raghvendra Kumar    schedule 19.08.2014
comment
Трябва да добавите цялата секция ‹security-constraint› към web.xml, няма достатъчно място в коментарите, за да се покаже пълен пример. Копирайте целия блок ‹security-constraint› и го актуализирайте до това, което е вашата страница.   -  person Ryan    schedule 19.08.2014
comment
Разбирам, че не можете да предоставите пълен пример тук и също така знам, че можем да посочим ограничение за сигурност за URL адресите, но как да направя влизането задължително чрез това. Да предположим, че имам welcome.jsp страница, а другата е securepage.jsp и по-късната е достъпна само ако имате правилния низ за заявка, прикачен към URL адреса, който се губи след влизане.   -  person Raghvendra Kumar    schedule 19.08.2014
comment
Бих поставил ограничението за сигурност на securepage.jsp. Ако параметърът на заявката не присъства, направете response.sendRedirect(welcome.jsp).   -  person Ryan    schedule 19.08.2014
comment
Благодаря @Bruyere. Работи, ограничението за сигурност.   -  person Raghvendra Kumar    schedule 20.08.2014


Отговори (1)


Низът на заявката може да бъде запазен, ако приложим ограничение за сигурност за URL адресите, което също се грижи за входа, необходим за достъп до страницата или URL адреса.

<security-constraint> <web-resource-collection> <web-resource-name>Any Name</web-resource-name> <url-pattern>/page or url you want to apply the security</url-pattern> </web-resource-collection> <auth-constraint> <role-name>*</role-name> </auth-constraint> </security-constraint>

person Raghvendra Kumar    schedule 20.08.2014