【发布时间】:2010-09-11 21:54:04
【问题描述】:
我有一个不想公开的静态文件。有没有办法限制对 app.yaml 的访问,使其只能由自己的域加载?
基于 web2py 的解决方案也受到欢迎,因为我在 GAE 之上使用它。
谢谢!
【问题讨论】:
我有一个不想公开的静态文件。有没有办法限制对 app.yaml 的访问,使其只能由自己的域加载?
基于 web2py 的解决方案也受到欢迎,因为我在 GAE 之上使用它。
谢谢!
【问题讨论】:
您可以使用“login: required”来限制对它的访问,以要求使用 Google 帐户登录,或者使用“login: admin”将其限制为仅限管理员。如果您只关心滥用问题,则可能需要查看DOS API。
【讨论】:
我假设您想为此使用 web2py 身份验证。你必须遵循一些简单的规则。 1) app/static 中的文件是公共文件。 2)您要进行身份验证的文件放在 app/private 中。然后创建您自己的 web2py 操作来服务器私有/的内容/
@auth.requires()
def private():
import os
file = os.path.join(request.folder, 'private', request.args(0))
return response.stream(open(file,'rb'))
如果您想使用基于角色的访问控制,您需要将文件名存储在数据库表中,并将 auth.add_permission 存储到组到记录中。
如果您向 web2py 邮件列表提问,您将获得更快的响应和更有效的响应。
【讨论】: