tornado设置cookie和seesion
請求過程
- 開始是get請求,因為沒有cookie,返回預登錄表單
- 提交時post同時設置了cookie
- 以后訪問該路由都是登錄的狀態
- 當刪除cookie又回到沒又設置的狀態
但是cookie的信息明顯出現,應該要加密
只需要加set_cookie改為set_secure_cookie 同時設置cookie_secret 加密的東西 隨便寫
如何想將此cookie用于其他頁面
通過定義get_current_user方法
渲染時在調用self.current_user
有cookie的情況
沒有cookie的情況
當然還可以通過裝飾器來設置,如何沒有登錄狀態,就直接跳轉到其他頁面
只需要設置@tornado.web.authenticated和login_url
對于用戶來說
如何沒有登錄,就應該去登錄,然后返回原頁面,所以next_url設置登錄的頁面,當登錄成功,設置了cookie,然后放回該頁面
那么如何實現
一開始沒有登錄狀態,就跳轉到登錄界面temp,從中得到url中的參數next_url,然后通過用戶登錄成功設置cookie,從post請求方法中的得到next_url,也就是一開始頁面
一開始訪問extends,因為沒有登錄狀態,跳轉到temp中
登錄頁面,得到cookie
返回extends
設置session
對于cookie是存放瀏覽器中,一點都不安全,沒錯最好的辦法是存在服務器
安裝好pycket 和redis
pycket = {# 引擎'engine': 'redis','storage': {'host': 'localhost',#ip'port': 6379, #端口# 'password': '', #是否需要密碼'db_sessions': 5, # redis db index'db_notifications': 11,'max_connections': 2 ** 30,},'cookies': {'expires_days': 30, #存放天數},}from pycket.session import SessionMixin 導入pycket
定義basehandler繼承sessoinMixin類 和get_current_user來得到session
同樣繼承baseHandler
看下redis
官網:http://www.tornadoweb.org/en/stable/guide/security.html
總結
以上是生活随笔為你收集整理的tornado设置cookie和seesion的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 王野电动车怎么解除p按键?
- 下一篇: tornado上传图片