記住我 功能實現
大家都知道pc端在系統登入時有一個類似於【記住我】的功能 ,做開發半年我沒有接觸過cookie,覺得可能很難,今天剛好自己抽幾分鐘時間學習了一下,發現很基本,在這裡也就算給一些學習者寫一個實現方法吧,分享出來大家批評指教:
登入頁面,記住我複選框
<td>
<input type="checkbox" name="remeberMe" id="remeberMe" value="yes"/>
</td>
首先登入需要使用者名稱和密碼,建立一個vo物件 MenuForm
public class MenuForm {
private String name;
private Stringpassword;
public String getName() {
returnname;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
returnpassword;
}
public void setPassword(String password) {
this.password = password;
}
}
第二步,登入的Action中獲取到頁面傳遞的使用者名稱和密碼,並呼叫記住我的方法:
public String menuHome(){
//獲取使用者名稱和密碼
String name = menuForm.getName();
String password = menuForm.getPassword();
/** 其他方法事件*/
/**記住我*/
LogonUtils.remeberMe(name,password,request,response);
}
第三步:Action程式碼的處理,建立LoginUtils類
public class LogonUtils {
/**記住我功能*/
public static void remeberMe(String name, String password,
HttpServletRequest request,
//1:建立2個Cookie,存放指定值
Cookie nameCookie = new Cookie("name",name);
Cookie passwordCookie = new Cookie("password",password);
//2:設定Cookie的有效路徑(指定當前專案)
nameCookie.setPath(request.getContextPath()+"/");
passwordCookie.setPath(request.getContextPath()+"/");
//獲取頁面複選框的值(用作判斷)
String remeberMe = request.getParameter("remeberMe");
//此時表示複選框選中
//3:設定Cookie的有效時間(1周)
if(remeberMe!=null && remeberMe.equals("yes")){
nameCookie.setMaxAge(7*24*60*60);
passwordCookie.setMaxAge(7*24*60*60);
}
//此時表示複選框沒有被選中
else{
nameCookie.setMaxAge(0);
passwordCookie.setMaxAge(0);
}
//4:將Cookie存放到response中
response.addCookie(nameCookie);
response.addCookie(passwordCookie);
}
}
第四步:在index.jsp頁面中讀取Cookie中的資料,jsp中巢狀java程式碼
<%
String name = "";
String password = "";
String checked = "";
Cookie [] cookies = request.getCookies();
if(cookies!=null && cookies.length>0){
for(Cookie cookie:cookies){
if(cookie.getName().equals("name")){
name = cookie.getValue();
checked = "checked";
}
if(cookie.getName().equals("password")){
password = cookie.getValue();
}
}
}
%>
這樣的缺點:將java程式碼放置到jsp上,要求jsp先要執行編譯java程式碼,然後再執行。效率會降低。
分析:在跳轉到index.jsp頁面之前先從Cookie中獲取資料,放置到HttpRequest物件中進行顯示,這樣可以使用過濾器(filter)完成,過濾器在這因為時間原因就暫時不寫了。謝謝!
相關推薦
Shiro - RememberMe記住我功能實現
【1】認證和記住我 ① 記住我 Shiro提供了記住我(RememberMe)的功能,比如訪問如淘寶等一些網站時,關閉了瀏覽器,下次再開啟時還是能記住你是誰,下次訪問時無需再登入即可訪問,基本流程如下: 首先在登入頁面選中RememberMe然後登入成功;如果是瀏覽器
登入記住我功能實現
說明 前端設計 引用檔案 <script src="js/jquery.cookie.js"></script> jsp頁面一載入就執行判斷cookie中
記住我 功能實現
大家都知道pc端在系統登入時有一個類似於【記住我】的功能 ,做開發半年我沒有接觸過cookie,覺得可能很難,今天剛好自己抽幾分鐘時間學習了一下,發現很基本,在這裡也就算給一些學習者寫一個實現方法吧,分享出來大家批評指教: 登入頁面,記住我複選框 <td>
RememberMe記住我功能實現
【1】認證和記住我 ① 記住我 Shiro提供了記住我(RememberMe)的功能,比如訪問如淘寶等一些網站時,關閉了瀏覽器,下次再開啟時還是能記住你是誰,下次訪問時無需再登入即可訪問,基本流程如下: 首先在登入頁面選中RememberMe然後登入成功;如果
SpringSecurity(2)---記住我功能實現
# SpringSecurity(2)---記住我功能實現 上一篇部落格實現了認證+授權的基本功能,這裡在這個基礎上,新增一個 **記住我的功能**。 上一篇部落格地址:[SpringSecurity(1)---認證+授權程式碼實現](https://www.cnblogs.com/qdhxhz/p/12
Spring Security、實現圖形驗證碼功能、實現"記住我"功能
說在前面 博主最近會有很多專案跟大家一起分享,做完後會上傳github上的,希望讀友們能給博主提提意見哈哈 這個專案是第三方登入和安全方面的,關於後臺與a
shiro中記住我功能
pac 用戶 網頁服務器 tao 流程 word 朋友 value sda Shiro提供了記住我(RememberMe)的功能,比如訪問如淘寶等一些網站時,關閉了瀏覽器下次再打開時還是能記住你是誰,下次訪問時無需再登錄即可訪問,基本流程如下: 1、首先在登錄頁面選中Rem
5. Spring Boot + Spring Security 記住我功能
個人理解:整合spring security框架,只需要簡單的配置即可 基本流程: 瀏覽器認證使用者名稱密碼請求,認證成功後,有一個TOkenRepository 來儲存使用者名稱和密碼,並且儲存到自動
SpringSecurity(七)新增記住我功能
記住我基本原理 使用者認證成功後呼叫RemeberMeService服務,這個服務裡有一個TokenRepository,它會生成一個Token寫入瀏覽器Cookie,同時它還會使用TokenRepository將Token和使用者名稱寫入到資料庫中。 當用戶再次訪問
登入時記住密碼功能實現js
css: .checkActive { background: url(../images/right.png) no-repeat; border: 1px solid #41b3
spring-Security(三):記住我,實現下次免登入
記住我基本原理使用者認證成功之後呼叫RemeberMeService根據使用者名稱名生成Token由TokenRepository寫入到資料庫,同時也將Token寫入到瀏覽器的Cookie中重啟服務之後,使用者再次登入系統會由RememberMeAuthenticationF
SpringBoot學習:整合shiro自動登入功能(rememberMe記住我功能)
首先在shiro配置類中注入rememberMe管理器 /** * cookie物件; * rememberMeCookie()方法是設定Cookie的生成模版,比如cookie的name,cookie的有效時間等等。 * @return */ @Bean public
SpringBootSecurity學習(10)網頁版登入之記住我功能
場景 很多登入都有記住我這個功能,在使用者登陸一次以後,系統會記住使用者一段時間,在這段時間,使用者不用反覆登陸就可以使用我們的系統。記住使用者功能的基本原理如下圖: 使用者登入的時候,請求傳送給過濾器UsernamePasswordAuthenticationFilter,當該過濾器認證成功後,會呼叫R
【jQuery】利用jQuery實現“記住我”的功能
jquer sms sep jquery實現 .com script lis put bar 【1】先下載jQuery.cookie插件:使用幫助請參考鏈接(https://github.com/carhartl/jquery-cookie)。 【2】安裝插件:
[JavaScript] session、cookie與“記住我的登入狀態”的功能的實現
Cookie的機制 Cookie是瀏覽器(User Agent)訪問一些網站後,這些網站存放在客戶端的一組資料,用於使網站等跟蹤使用者,實現使用者自定義功能。 Cookie的Domain和Path屬性標識了這個Cookie是哪一個網站傳送給瀏覽器的;Cookie的Expires屬性標識了
記住我remember-me功能的幾種實現方式
本文討論幾種記住我功能的實現方式。 原理:使用者登入後,服務端為使用者生成一個Token,並放入客戶端Cookie中。下次使用者登入,服務端驗證Cookie中的Token並自動登入。 簡單的Token生成方法 Tok
Spring Security框架下實現兩週內自動登入"記住我"功能
本文是Spring Security系列中的一篇。在上一篇文章中,我們通過實現UserDetailsService和UserDetails介面,實現了動態的從資料庫載入使用者、角色、許可權相關資訊,從而實現了登入及授權相關的功能。這一節就在此基礎上新增,登入過程中經常使用的“記住我”功能,也就是我們經常會
Java使用SSM框架實現登錄頁面記住密碼功能
turn 頁面 賦值 ++ mage login ring 實現 member 最終效果展示: 1、登錄頁面JSP代碼 <label class="checkbox"> <input type="checkbox" name="remembe
近期在看的一段JS(誰能看出我想實現什麼功能)
示例程式碼: <script type="text/javascript"> !function(){ var e=/([http|https]:\/\/[a-zA-Z0-9\_\.]+\.baidu\.com)/gi, r=window.location.href,
web實現登入,記住密碼功能(cookie)
介面: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>登入頁面</title>