我有一个GAE应用程序,用于在调用任何网页之前检查管理员是否已登录。我已经尝试过各种方法来管理登录过程。用户身份验证最佳实践
Q1 - 我在做例子二中的装饰器时会出现什么问题?
Q2 - 有人通常会检查后函数吗?
在每个get函数中使用if语句之前。问题在于,如果在每个函数中反复使用语句,我都会重复此操作。
class IncomePage(webapp2.RequestHandler):
def get(self):
if users.is_current_user_admin():
self.response.write('My Webpage')
else:
self.response.write('Please Login')
然后我试着让一个装饰者为我做。它没有工作,所以我做错了什么。
def check(func):
if users.is_current_user_admin():
return func
else:
response.write('Please Login') ### Doesn't work
class IncomePage(webapp2.RequestHandler):
@check
def get(self):
self.response.write('My Webpage')
谢谢,但该回复于不工作要么。 –
您将无法访问修饰器中当时的回复。 'args'中的第一个参数将会是'self',所以你需要把它拉出来并且从中调用响应。它可能看起来像'args [0] .response。写()' –
我最后一个问题,我需要使用我的职位功能? –