我在認證後將用戶權限標識符置於用戶會話中。 如何根據用戶權限限制對網站某些部分的訪問。現在我正在檢查頁面處理程序中的特權,但如何使其更好?限制訪問站點的某些部分。 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