我正在使用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
谢谢,
大卫
答案 0 :(得分:5)
您还可以在请求处理代码中使用is_current_user_admin
以编程方式进行检查。
答案 1 :(得分:2)
你基本上有两个选择......一个是你已经拥有的,这是将所有管理页面保持在/admin
下并在该路径上应用全面安全性,这就是亚当所做的。
另一个是为每个人保留相同的页面(比如你想为管理员显示特殊功能,比如编辑按钮或审核工具),就像Adam已经说过的那样,并使用is_current_user_admin()
函数来确定为管理员展示和做。