我们将我们的(Php)网站迁移到gae标准,并使用laravel对其进行重建.我们的网站包含一个名为/admin的文件夹,我们不希望向公众开放该文件夹.因此,我将其放入app.yaml文件中:

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

这是(一种)工作.如果我go 默认的网址每个人都可以看到它.如果我添加/管理员到它,我必须登录与我的谷歌帐户第一.问题是,我以为这只适用于我们自己的谷歌帐户,但似乎每个人都有一个谷歌帐户可以登录和访问我们网站的/管理部分.

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

推荐答案

  1. 这是预期的行为.根据documentation

当具有非可选登录设置的URL处理程序与URL匹配时,该处理程序首先判断用户是否已使用其authentication option登录到应用程序.

  1. 如果您有一个Google工作区帐户,并且您只想让该帐户上的用户登录,则身份验证选项为documentation

default时,您的应用将使用Google Accounts进行身份验证.到choose another option,如Google Workspace域,转到Google Cloud控制台中项目的设置页面,然后单击编辑.在Google身份验证菜单中, Select 所需的身份验证类型,然后单击保存.

  1. 如果你没有谷歌工作区账户,你只想‘ Select ’拥有谷歌账户的人登录,那么你可以考虑将其从login: required改为login: admin,这意味着只有该项目的管理员才能登录.正如文件中所说的

此外,如果用户不是应用程序的管理员,则无论AUTH_FAIL_ACTION设置如何,他们都会收到一条错误消息.如果用户是管理员,则处理程序将继续.

Php相关问答推荐

CodeIgniter AJAX表格提交中的CSRF token 再生问题

将一个数字分配到一系列因素中(就像贪婪算法)

允许Laravel路由指定`withTrashed`,尽管有显式的模型绑定

如何在Woocommerce中禁用机器人添加到推车?

致命错误:无法使用简单的php博客重新声明spl_autoload_Register()

Regex|PHP捕获json字符串中的每个非法双引号

PHP 8.2 弃用日志(log)存储在 Laravel 10.22.0 中的哪里?

关于Laravel缓存出现的错误

对 WooCommerce 购物车和 checkout 中显示的运输方式进行排序

过滤会员计划标题和标签

AWS S3:当对象名称包含 % 时复制对象失败并出现错误 - 无效的复制源编码

后退按钮不起作用 laravel ajax crud

PHP Symfony 在测试.env文件中将接口自动装配作为构造函数参数,但使用接口的特定类

在 Laravel、Vuejs 和 Inertia 中配置 TypeScript 的问题

如何从此字符串创建 Carbon 对象:2022-06-21T05:52:46.648533678Z?

PHP 日期格式:ISO8601 与 ISO8601_EXPANDED

正则表达式抓取递归括号的内容

如何将子查询结果添加到学说 2 中主查询的末尾?

Symfony 自定义注销

使用 v-for 的存储链接中的 Img src 在 Laravel vuejs 中不起作用