如何在app.yaml(Google应用引擎,Python)中使用定制身份验证的登录:必填属性

2024-05-08 18:55:52 发布

您现在位置:Python中文网/ 问答频道 /正文

在googleappengine上,我使用一个带有方法的自定义用户类。(不是webapp2提供的类和函数)

但是,我仍然需要阻止用户访问某些静态目录的url,而这些url后面有html页面。我目前的解决方案是在用户访问页面之后进行用户身份验证,但是他们仍然会看到整个页面加载一段时间。这看起来很糟糕,而且不太安全。在

如何在YAML文件中使用带有login:required属性的自定义身份验证选项?这样,当用户没有登录时(在登录页面之前)会立即被重定向。在


Tags: 文件方法函数用户目录身份验证urlyaml
1条回答
网友
1楼 · 发布于 2024-05-08 18:55:52

实际上,您有以下几种选择:要么放弃直接从App Engine基础设施(对应用程序透明)提供静态文件/目录,或者放弃使用自定义用户类进行身份验证。在

我怀疑你会选择第一个替代方案,从你的应用程序中提供所有文件(至少,除了授权用户以外,所有必须保密的文件),“只是”花费了更多的资源(可能会稍微增加用户的延迟),但允许你实现你需要的任何功能。在

使用app.yaml中的static_files:&c指令直接提供静态文件/dir的好处是,你的应用实际上并不参与应用引擎的基础设施为你做所有的事情,这节省了你的资源,并可能使用户的事情更快(更好的缓存/CDN交付)。但是如果你的应用程序实际上没有参与进来,那么你为自定义身份验证编写的代码怎么可能正在运行呢?!这是一个逻辑上的矛盾。。。在

如果你不愿意从你的应用程序中提供静态文件,因为它们非常大,那么你可以通过从你的应用程序中提供URL来完全恢复速度(然后是一些),并节省一些资源,但是在认证之后,直接进入Google云存储来真正地提供服务。在

更一般地说,实际上不需要保密的文件的组合(将这些文件放在static_dir&c中应用程序yaml指令),那些大到足以保证从云存储服务的指令,以及你的应用程序可以直接服务的指令,可以让你在所有方面进行优化,同时在任何重要的地方保持对自定义授权的完全控制!在

相关问题 更多 >

    热门问题