午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

java - 關(guān)于Spring MVC登錄系統(tǒng)的設(shè)計

瀏覽:161日期:2023-11-27 15:07:41

問題描述

我現(xiàn)在的想法是定義一個User對象,其中包括uid, username, password, isLogined等。然后設(shè)置一個攔截器,在用戶第一次請求(session開始)的時候,從數(shù)據(jù)庫中根據(jù)user.isLogined判斷用戶是否登錄,如果登錄了就在session級別上設(shè)置isLogined等于true,否則就重定向到登錄頁面。

但是這樣的話在用戶第一次請求的時候,我應(yīng)該如何判斷用戶的身份?如果通過在cookie中設(shè)置uid的話,這個uid可以被其他人偽造,有潛在的安全風(fēng)險。

請問對于這個問題,有什么好的解決方案?

補(bǔ)充

我主要的問題就是如何判斷用戶登錄身份的合法性,現(xiàn)在我的想法是將user id加密之后保存到cookie當(dāng)中,這把密鑰只有我一個人知道,這樣別人即使知道user id也沒有辦法,請問這樣是否合理。

問題解答

回答1:

這個風(fēng)險好大:uid修改為別人的,碰巧那人也登錄了,那么就以別人的身份登錄了

沿著你的方案走:1,cookie的uid設(shè)置為加密的,或者是無意義的隨機(jī)串2,用這個串和db里比對,或者和cache里的比對,同時校驗ip或者user agent加強(qiáng)安全性3,要考慮會話過期策略

回答2:

首先你的數(shù)據(jù)庫中需要先存儲用戶信息,設(shè)置isLogined 默認(rèn)為FALSE,每次登陸成功后更新為TRUE,退出后更新為FALSE;判斷登陸成功的標(biāo)志用userName userPass 匹配,還有isLogined 判斷;最后設(shè)置判斷級別,先isLogined 后 用戶密碼;

回答3:

建議登錄狀態(tài)不要存儲在數(shù)據(jù)庫中,至少也別存在關(guān)系型數(shù)據(jù)庫中;可以在用戶登錄校驗完成后,返回token,之后用戶的所有請求在headers的authorization字段都帶上這個token;可以去了解一下jwt及相關(guān)實現(xiàn)

回答4:

就按你現(xiàn)在的方式,如果我一個匿名用戶,沒登錄,去請求你的某個接口,然后被攔截從數(shù)據(jù)庫中根據(jù)user.isLogined判斷用戶是否登錄,那么問題來了。你user.isLogined中的這個user是誰呢?

建議直接登錄后把用戶登錄成功信息放session里,請求的時候攔截器去驗證session就好了,不要去訪問數(shù)據(jù)庫,每次請求都有這一個訪問數(shù)據(jù)庫操作很有消耗的。

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 欧美国产一区二区三区 | 成人av免费观看 | 国产91丝袜美女在线播放 | 日本中文字幕一区 | 久久久一二三 | 黄色资源在线观看 | 毛片视频在线免费观看 | 日韩视频在线观看一区 | 欧美午夜精品久久久 | 久久草精品 | 超碰在线免费播放 | 一级二级三级在线观看 | 国产妞干网 | 天堂在线www | 人人澡人人插 | 精品白浆 | 91精品国产综合久久久久久久 | 日本黄色免费看 | 精品国产一二三 | 青春草av| 精品视频在线免费 | 亚洲激情文学 | 在线观看中文字幕网站 | 免费色网址 | 精品视频专区 | 狠狠干狠狠干狠狠干 | 亚洲精品一二三四 | 国产97色 | av网址在线免费观看 | 黄色免费毛片 | 泽村玲子在线 | 天天艹夜夜艹 | 日韩久久精品 | 亚洲激情欧美激情 | 色网在线看 | 国产丝袜在线播放 | 国产毛片在线视频 | 日本www在线 | 在线观看黄色av网站 | 午夜小影院| 手机看片日韩国产 |