當(dāng)用戶登錄Web應(yīng)用程序時,如何實現(xiàn)“保持登錄狀態(tài)”在大多數(shù)網(wǎng)站上,當(dāng)用戶即將提供登錄系統(tǒng)的用戶名和密碼時,會出現(xiàn)一個“保持登錄狀態(tài)”的復(fù)選框。如果選中該復(fù)選框,它將使您在同一Web瀏覽器的所有會話中登錄。如何在Java EE中實現(xiàn)相同的功能?我正在使用基于FORM的容器管理身份驗證和JSF登錄頁面。<security-constraint>
<display-name>Student</display-name>
<web-resource-collection>
<web-resource-name>CentralFeed</web-resource-name>
<description/>
<url-pattern>/CentralFeed.jsf</url-pattern>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>STUDENT</role-name>
<role-name>ADMINISTRATOR</role-name>
</auth-constraint></security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>jdbc-realm-scholar</realm-name>
<form-login-config>
<form-login-page>/index.jsf</form-login-page>
<form-error-page>/LoginError.jsf</form-error-page>
</form-login-config></login-config><security-role>
<description>Admin who has ultimate power over everything</description>
<role-name>ADMINISTRATOR</role-name></security-role> <security-role>
<description>Participants of the social networking Bridgeye.com</description>
<role-name>STUDENT</role-name></security-role>
3 回答

江戶川亂折騰
TA貢獻(xiàn)1851條經(jīng)驗 獲得超5個贊
通常這樣做是這樣的:
當(dāng)您登錄用戶時,您還在客戶端上設(shè)置了一個cookie(并將cookie值存儲在數(shù)據(jù)庫中),在一段時間后(通常為1-2周)到期。
當(dāng)有新請求進(jìn)入時,檢查某個cookie是否存在,如果是,請查看數(shù)據(jù)庫以查看它是否與某個帳戶匹配。如果匹配,您將“松散地”登錄該帳戶。當(dāng)我松散地說我的意思是你只讓那個會話讀取一些信息而不是寫信息。您需要請求密碼才能允許寫入選項。
這就是全部。訣竅是確?!八缮ⅰ钡卿洸荒軐蛻粼斐珊艽髠Α_@有點保護(hù)用戶免于抓住他記住我的cookie并試圖以他身份登錄的人。
添加回答
舉報
0/150
提交
取消