Google App Engine - 管理部分

时间:2010-11-13 22:37:40

标签: python google-app-engine

我正在使用Python中的Google App Engine编写一个Web应用程序,使用户可以阅读书籍。我想只允许管理员将有关书籍和书页内容的信息添加到网站上。

当使用app.yaml配置(例如下面)限制对某些页面的访问时,与管理页面关联的脚本必须与用于每个人可用页面的脚本不同。例如,如果与/admin/.* urls相关联的脚本是home.py而不是admin.py,是否有任何问题?

application: myapp
version: 1
runtime: python
api_version: 1

handlers:
- url: /
  script: home.py

- url: /index\.html
  script: home.py

- url: /admin/.*
  script: admin.py
  login: admin

- url: /.*
  script: not_found.py

谢谢,

大卫

2 个答案:

答案 0 :(得分:5)

您还可以在请求处理代码中使用is_current_user_admin以编程方式进行检查。

答案 1 :(得分:2)

你基本上有两个选择......一个是你已经拥有的,这是将所有管理页面保持在/admin下并在该路径上应用全面安全性,这就是亚当所做的。

另一个是为每个人保留相同的页面(比如你想为管理员显示特殊功能,比如编辑按钮或审核工具),就像Adam已经说过的那样,并使用is_current_user_admin()函数来确定为管理员展示和做。