flask的同一ip域名不同端口的两个网站session冲突
問題現(xiàn)象:
項(xiàng)目A和項(xiàng)目B,部署在同一臺服務(wù)器下,使用相同的域名,他們的訪問方式類似于下面這樣:
http://test.domain.com/A/index.jsp
http://test.domain.com/B/index.jsp
A項(xiàng)目中有個鏈接到B項(xiàng)目的鏈接(用戶名和密碼放在參數(shù)里,到B項(xiàng)目中的方法中驗(yàn)證,組裝user并設(shè)置到session里),
當(dāng)在A項(xiàng)目中點(diǎn)擊了鏈接后會將B的頁面內(nèi)嵌在A系統(tǒng)中,再次點(diǎn)擊A項(xiàng)目的其他菜單時退出到登錄頁面
問題解決之前做的內(nèi)容:
(本人是flask初學(xué)者)
1.更改項(xiàng)目路徑:
百度搜到說cookie不區(qū)分端口號,可以根據(jù)請求路徑不同,cookie存儲的內(nèi)容不同,但是我更改了請求路徑,沒用
2.設(shè)置A,B兩個網(wǎng)站的cookie為不同存儲位置:
百度了半天說通過js能更改路徑,可能是技術(shù)不精,無濟(jì)于事
3.百度說更改sessionid,找了半天,不知道說的是什么
經(jīng)過冷靜分析發(fā)現(xiàn)了問題的原因:
問題原因:
先看A網(wǎng)站和B網(wǎng)站的再瀏覽器中的cookie的key值,可以通過EditThisCookie這個谷歌插件去看(不懂的和不會使用的可以去百度一下),訪問這A、B這兩個網(wǎng)站,查看A和B的cookie的key都為session
這是因?yàn)槭裁茨?#xff1f;
在flask的配置中,有這么幾個配置項(xiàng):
看到了嗎,*‘SESSION_COOKIE_NAME’*的值默認(rèn)為session,那么我們接下來的任務(wù)就是去更改他默認(rèn)的值,在我們的兩個項(xiàng)目中,例如A項(xiàng)目添加下面這樣的配置:
app.config['SESSION_COOKIE_NAME']="sessionA"在B項(xiàng)目中添加:
app.config['SESSION_COOKIE_NAME'] = 'sessionB'這樣就可以了,sessionA和sessionB這兩個名字是我自己定義的,大家可以根據(jù)自己的特點(diǎn)去定義,只要兩個名字不一樣就可以
問題解決了,留個一鍵三連再走吧,小哥哥小姐姐們,mua
總結(jié)
以上是生活随笔為你收集整理的flask的同一ip域名不同端口的两个网站session冲突的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDEA上编写hadoop程序(Mave
- 下一篇: Maven如何用Eclipse创建一个M