我有一個登錄屏幕,我想通過檢查數據庫中的憑據來驗證用戶身份。我知道大多數瀏覽器都可以記住密碼,但我如何實現使用瀏覽器cookie記住我的複選框?我正在使用sign.jsp和Auth servlet(doPost)以及使用https進行基本訪問身份驗證。記住我/保持登錄狀態,在jsp登錄頁面
我知道我需要將userid +令牌存儲到cookie中。我從另一個線程發現了以下代碼。
在你的servlet響應處理器(doPost方法,的doGet等),創建以下列方式餅乾 -
if(remember_me_is_checked)
{
Cookie c = new Cookie("userid", userId.toString());
c.setMaxAge(24*60*60);
response.addCookie(c); // response is an instance of type HttpServletReponse
}
讀他們,你可以使用這樣的事情 -
Cookie[] cookies = request.getCookies(); // request is an instance of type
//HttpServletRequest
boolean foundCookie = false;
for(int i = 0; i < cookies.length; i++)
{
Cookie c = cookies[i];
if (c.getName().equals("userid"))
{
string userId= c.getValue();
foundCookie = true;
}
}
我問題是,在將用戶信息存儲到Cookie後,如何在用戶下次登錄時自動對用戶進行簽名?我不明白的是,我只有用戶的登錄ID存儲在cookie中,我怎麼能沒有密碼簽署用戶。我可以使用什麼方法?
如果可能,請詳細解釋或提供一些代碼。我對這類東西真的很陌生。
問候
你是什麼意思,「我不想通過檢查數據庫中的憑據來認證用戶」? – Lobo 2012-07-16 21:46:30
更具體地說,如果用戶名和/或密碼與我的數據庫中的用戶名和/或密碼相匹配,我可以使用什麼方法來登錄用戶。 – Joey 2012-07-16 21:59:28