哪位看過tornado源碼的大神可以介紹下tornado authenticated的實現原理嗎? 為什么使用functools.wraps裝飾wrapper? 不用functools.wraps裝飾也可完成登錄檢查,他那樣實現有什么特殊考慮嗎?
4 回答

白豬掌柜的
TA貢獻1893條經驗 獲得超10個贊
functools.wraps本來就是一個快捷方式, 從來沒有繞不過去的
tornado authenticated很簡單, 用加密的cookie存儲一些用戶的數據, 至少存個用戶id什么的. 因為cookie長度有限, 也不能多存, 我建議可以再存個登陸時間什么的.
cookie這些都是很原始的用法, 比如我們要每次檢查用戶在數據庫里有沒有被封, 那么僅僅靠tornado的用戶機制還不行, 還需要多寫一點代碼查數據庫. 不過一切都很靈活啦, 這就是我喜歡tornado的原因, 沒有太多的自創概念需要學習.

呼啦一陣風
TA貢獻1802條經驗 獲得超6個贊
你是想問為什么使用裝飾器?還是問為什么使用functools.wraps實現裝飾器?
1.第一問題的話,裝飾器能夠最大程度減少對現有代碼的改動,同時提供了靈活的方式擴展
2.第二個問題的話,functools.wraps 作為內在模塊,很好的處理了反射的問題
- 4 回答
- 0 關注
- 938 瀏覽
添加回答
舉報
0/150
提交
取消