【问题标题】:Authorization for Static Files in Google App Engine application (not using Google Account)Google App Engine 应用程序中的静态文件授权(不使用 Google 帐户)
【发布时间】:2016-08-16 20:24:33
【问题描述】:

我在 Google App Engine (GAE) for Java 上部署了一个应用程序。我正在使用 Google Identity Toolkit 进行身份验证(而不是 GAE 提供的基于标准 Google 帐户的身份验证)。前端是基于 GWT 的。

我有一些位于war/static/images 文件夹中的静态内容(图像文件)。我想限制对这些文件的访问仅限于登录用户的子集,即围绕这些文件添加授权。 GAE 提供了security-constraits,但这对我不起作用,因为我没有使用 Google 帐户,即便如此,它也没有根据我的要求提供完全授权。

围绕这些静态资产添加授权的最佳方式是什么?

【问题讨论】:

    标签: java google-app-engine gwt google-identity-toolkit


    【解决方案1】:

    Google Appengine 将静态文件存储在其他服务器中,而不是存储在您的应用所在的同一应用服务器中。

    所以你不能在上面添加任何授权检查,你可以使用谷歌云存储并设置 acl,但同样只适用于谷歌用户,你也不能在那里拥有自己的授权。

    所以答案是,您必须将静态文件更改为资源文件,并向这些文件添加路由而不是直接访问,然后在您的端点或控制器中,您可以根据会话或访问令牌或任何其他身份添加自定义授权选项,一旦用户授权访问这些文件,您就可以将这些文件作为响应。

    【讨论】:

    • 谢谢,拉梅什。我在这里找到了答案:stackoverflow.com/questions/6491025/… 这与您的答案一致。我已将自定义授权代码添加到 servlet 并通过 servlet 访问图像。我接受你的答案作为正确答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-06
    • 1970-01-01
    • 2011-01-11
    • 2012-12-28
    • 1970-01-01
    • 2016-07-10
    • 2017-08-15
    相关资源
    最近更新 更多