添加登录:需要app.yaml仍然允许每个拥有谷歌帐户的人访问

问题描述 投票:0回答:1

我们将我们的 (php) 网站迁移到 GAE 标准并使用 Laravel 进行“重建”。我们的网站包含一个名为 /admin 的文件夹,我们不希望公众可以使用该文件夹。所以我把它放在 app.yaml 文件中:

- url: /admin
   secure: always
   redirect_http_response_code: 301
   script: auto
   login: required

这确实(有点)有效。如果我转到默认网址,每个人都可以看到它。如果我添加/admin,我必须首先使用我的谷歌帐户登录。问题是,我认为这仅适用于我们自己的谷歌帐户,但似乎拥有谷歌帐户的每个人都可以登录并访问我们网站的 /admin 部分。

我做错了什么,或者这可能不可能拥有应用程序引擎服务的公共和私有部分?

php google-app-engine app.yaml
1个回答
0
投票
  1. 这是预期的行为。根据文档

当登录设置非可选的 URL 处理程序与 URL 匹配时,处理程序首先检查用户是否已使用其 身份验证选项登录到应用程序。

  1. 如果您有 Google Workspace 帐户并且您只希望该帐户上的人员登录,则身份验证选项的文档会显示

默认情况下,您的应用程序将使用 Google 帐户进行身份验证。要选择其他选项(例如 Google Workspace 域名),请转到 Google Cloud 控制台中项目的设置页面,然后点击“修改”。在 Google 身份验证下拉菜单中,选择所需的身份验证类型,然后单击保存。

如果您没有 Google Workspace 帐户,并且只想“选择”拥有 google 帐户的人员登录,那么您可以考虑将其从
    login: required
  1. 更改为
    login: admin
    ,这意味着只有项目的管理员才能登录登录。正如文档所说
    
    
此外,如果用户不是应用程序的管理员,则无论 auth_fail_action 设置如何,他们都会收到错误消息。如果用户是管理员,处理程序将继续。

© www.soinside.com 2019 - 2024. All rights reserved.