【问题标题】:GAE redirecting to http://localhost:8080/_ah/null after using logging form locally在本地使用日志表单后,GAE 重定向到 http://localhost:8080/_ah/null
【发布时间】:2015-11-25 16:15:48
【问题描述】:

我开发了一个 java GAE 应用程序,然后当我在本地尝试使用 url localhost:8080/_ah/login 以管理员身份登录时,我得到了正确的登录表单。

然后我选中以管理员身份登录复选框并尝试登录。 表格已正确发布: 电子邮件:test@example.com isAdmin:on 继续:空 行动:登录

然后启动以下请求: 请求网址:http://localhost:8080/_ah/null 请求方法:GET 状态码:404 未找到

是不是很奇怪?

顺便说一句 localhost:8080/_ah/admin 工作正常,我有一个弹簧安全配置,允许请求继续进行,而 _ah/login 请求没有特殊情况

任何想法将不胜感激:=)

【问题讨论】:

    标签: google-app-engine spring-mvc


    【解决方案1】:

    这没什么奇怪的。将用户发送到 /_ah/login 时,您没有提供(正确的)重定向 url。

    看看你的表单发布参数

    email:test@example.com isAdmin:on continue:null action:Log In

    这里 continue 为 null,因此您将被重定向到 null。

    您的登录 URL 应如下所示:

    http://localhost:8080/_ah/login?continue=../

    http://localhost:8080/_ah/login?continue=http://www.google.com

    好的,URL 转义会很好,但这仅用于演示目的。

    如果您使用UserService,则应在调用userService.createLoginURL(thisURL) 时提供重定向URL(请参阅docs)。如果您在此处提供 null,您将被重定向到 null。显示登录时,参数列表必须包含 continue 参数,否则将假定为 null。

    【讨论】:

    • 其实我没有调用 userService.createLoginURL 因为我没有开发个人登录页面。当我调用 localhost:8080/_ah/login 时,GAE 会自动生成登录表单。
    • 无论您如何调用登录 URL,您都应该提供一个重定向 URL,否则您将最终进入该空页面。如果您提供任何东西,我可能会提供更多帮助。你的问题有点微不足道。可能有一些代码?
    • @john 我概括了我的答案,因此它更适合您的问题。
    • 感谢您的回答,但实际上问题不在于我的代码。首先,我尝试从 Maven 原型创建一个全新的留言簿应用程序。它没有用。所以我尝试将我的 GAE sdk 版本从 1.9.19 更新到 1.9.28 并且它有效。希望它可以帮助别人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-08
    • 2015-09-18
    • 2018-08-07
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 2019-06-04
    相关资源
    最近更新 更多