我在认证后将用户权限标识符置于用户会话中。 如何根据用户权限限制对网站某些部分的访问。现在我正在检查页面处理程序中的特权,但如何使其更好?限制访问站点的某些部分。 Google App Engine网络应用程序
有没有这样做的现有模板?你能举个例子吗?
我在认证后将用户权限标识符置于用户会话中。 如何根据用户权限限制对网站某些部分的访问。现在我正在检查页面处理程序中的特权,但如何使其更好?限制访问站点的某些部分。 Google App Engine网络应用程序
有没有这样做的现有模板?你能举个例子吗?
您可以定义装饰器以使其更容易。例如:
def requiresUser(fun):
def decorate(*args, **kwargs):
if not users.get_current_user():
self.error(403)
else:
fun(*args, **kwargs)
return decorate
def requiresAdmin(fun):
def decorate(*args, **kwargs):
if not users.is_current_user_admin():
self.error(403)
else:
fun(*args, **kwargs)
return decorate
,并使用它们,只是装饰处理方法:
class NewsHandler(webapp.RequestHandler):
# Only logged in users can read the news
@requiresUser
def get(self):
# Do something
# Only admins can post news
@requiresAdmin
def post(self):
# Do something
如果要限制某些地区您的应用程序只有管理员可以把下列的app.yaml
- url: /url.*
script: path.py
login: admin
否则,您可以检查时,有人
class PathHandler(webapp.RequestHandler):
def get(self):
if users.get_current_user():
pass #do something
else:
self.error(403) #Access denied
def post(self):
if users.get_current_user():
pass #do something
else:
self.error(403) #Access denied
编辑:http://code.google.com/p/gdata-python-client/source/browse/#svn/trunk/samples/oauth/oauth_on_appengine有在appengine上使用OAuth的示例
谢谢,但是这几乎是我现在使用:) – 2009-07-31 08:23:42
你可以使用http://代码.google.com/p/gdata-python-client/source/browse /#svn/trunk/samples/oauth/oauth_on_appengine作为模板可能? – AutomatedTester 2009-07-31 09:04:36