Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在使用Java的AppEngine上登录(使用Google的“userService”)后保留查询字符串?_Java_Jsp_Google App Engine_Query String - Fatal编程技术网

如何在使用Java的AppEngine上登录(使用Google的“userService”)后保留查询字符串?

如何在使用Java的AppEngine上登录(使用Google的“userService”)后保留查询字符串?,java,jsp,google-app-engine,query-string,Java,Jsp,Google App Engine,Query String,我正在gaegoogleappengine上用java开发一个应用程序。我有一个JSP,我使用Google的userService通过gmail帐户处理身份验证,这很好,用户可以使用gmail帐户登录 我已经使用userService.createLoginURLrequest.getRequestURI创建了登录url 我的要求是在我的应用程序的基本url的末尾附加一些查询参数,并将该url发送给用户,这是为了在登录后根据查询参数将用户带到一个特定页面,其中包含从数据库中拉入的信息 但是,当用

我正在gaegoogleappengine上用java开发一个应用程序。我有一个JSP,我使用Google的userService通过gmail帐户处理身份验证,这很好,用户可以使用gmail帐户登录

我已经使用userService.createLoginURLrequest.getRequestURI创建了登录url

我的要求是在我的应用程序的基本url的末尾附加一些查询参数,并将该url发送给用户,这是为了在登录后根据查询参数将用户带到一个特定页面,其中包含从数据库中拉入的信息

但是,当用户未登录并打开urlhaving查询字符串时,它会将用户带到登录页面,并且在登录后,它应该会转到该特定页面,但在登录后,查询字符串将丢失,它只会将用户带到欢迎页面,这不适用于这种情况


我怎样才能避免这种情况?是否有解决方法,或者这只是App Engine的一个限制?

如果我们对url应用安全约束,则可以保留查询字符串,该约束还负责访问页面或url所需的登录

任何名字 /要应用安全性的页面或url *

如果您指定页面需要在web.xml中登录,它将自动对用户进行身份验证,然后使用原始参数将您发送到该页面:谢谢链接。我阅读了这篇文章,但是,它没有任何关于如何在web.xml中强制登录的示例。我是一个新手,如果能提供一个关于如何在appengine上在web.xml中指定登录约束的小示例,我将不胜感激。您需要将整个部分添加到web.xml中,注释中没有足够的空间来显示完整的示例。复制整个块并将其更新为您的页面。我知道您不能在这里提供完整的示例,我也知道我们可以为URL指定安全约束,但如何通过此操作强制登录。假设我有一个welcome.jsp页面,另一个是securepage.jsp,只有当您将正确的查询字符串附加到登录后丢失的url时,才可以访问后者。如果查询参数不存在,请执行response.sendRedirectwelcome.jsp。