我有一個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。寫()' –
我最後一個問題,我需要使用我的職位功能? –