我正在第一次進入金字塔安全模塊。我使用這個登錄密碼設置auth_tkt:Pyramid.security問題:雙曲奇餅?餅乾不安全?過期?
@view_config(route_name='LoginForm', request_method='POST', renderer='string')
class LoginForm(SimpleObject):
def __call__(self):
emailAddress = self.request.params.get('emailAddress')
password = self.request.params.get('password')
if emailAddress != '[email protected]' or password != 'testpassword':
errorDictionary = { 'message' : "Either the email address or password is wrong." }
self.request.response.status = 400
return json.dumps(errorDictionary, default=json_util.default)
testUserGUID = '123123123'
headers = remember(self.request, testUserGUID)
return HTTPOk(headers=headers)
看來工作正常,但也有一些令人費解的細節:
首先,2塊餅乾真正得到設定,而不是一個。這兩個cookie是相同的(都使用名稱「auth_tkt」),除了一個區別:一個主機值爲「.www.mydomain.com」,而另一個cookie的主機值爲「www.mydomain.com」爲什麼是2個餅乾被設置而不是一個?差異主機價值的重要性是什麼?
問題2,網絡工具報告這兩個cookie都不安全。我能做些什麼來確保cookie是安全的?
問題3:這兩個cookie的過期值均爲「會話結束時」。這是什麼意思,我怎樣才能自定義到期價值?登錄Cookie到期時間的建議做法是什麼?
問題4:我不明白爲什麼「remember」的第一個參數是self.request而不是self.request.response。不應該在響應對象上記住數據,而不是請求對象?
推測你的意思是'serverUserGUID ='1123123123'';你用這個變量名稱來調用'remember'。 –
謝謝你......我修正了錯誤。 – zakdances