1. 程式人生 > >JAVA通過Session和Cookie實現網站自動登入的技術

JAVA通過Session和Cookie實現網站自動登入的技術

 本方案為我這個站點當前使用的,能用,但不保證是最先進的。
原文:http://www.java2000.net/p1010

第一步,登陸的時候一旦選擇了[自動登入]的選項,則需要在登陸成功後,附加下面的程式碼
應為一般網站都提供儲存使用者名稱的功能,所以我把這個寫到了外面。只有密碼是單獨處理的。
其中的host就是你的域名
login.jsp

 
        String host = request.getServerName();
        Cookie cookie = new Cookie("SESSION_LOGIN_USERNAME", username); // 儲存使用者名稱到Cookie
        cookie.setPath("/");
        cookie.setDomain(host);
        cookie.setMaxAge(99999999);
        response.addCookie(cookie);
        if (ParamUtils.getBooleanParameter(request, "savePassword")) {
          // 儲存密碼到Cookie,注意需要加密一下
          cookie = new Cookie("SESSION_LOGIN_PASSWORD", MD5.encode(u.getPassword()));
          cookie.setPath("/");
          cookie.setDomain(host);
          cookie.setMaxAge(99999999);
          response.addCookie(cookie);
        }



這樣,Cookie就生成了
第二步,在使用者訪問網站的時候,如果檢測到沒有登陸,則進行下面的判斷。
index.jsp
 
    String usernameCookie = null;
    String passwordCookie = null;
    Cookie[] cookies = request.getCookies();
    if (cookies != null) {
      for (Cookie cookie : cookies) {
        if ("SESSION_LOGIN_USERNAME".equals(cookie.getName())) {
          usernameCookie = cookie.getValue(); // 得到cookie的使用者名稱
        }
        if ("SESSION_LOGIN_PASSWORD".equals(cookie.getName())) {
          passwordCookie = cookie.getValue(); // 得到cookie的密碼
        }
      }
      if (usernameCookie != null && passwordCookie != null) { // 如果存在
        if(Login.checkLogin(usernameCookie ,passwordCookie)){
          // 登陸成功的處理
        }else{
           // 登陸不成功的處理
        }
      }
    }
是不是很簡單





<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

相關推薦

JAVA通過SessionCookie實現網站自動登入技術

 本方案為我這個站點當前使用的,能用,但不保證是最先進的。 原文:http://www.java2000.net/p1010第一步,登陸的時候一旦選擇了[自動登入]的選項,則需要在登陸成功後,附加下面的程式碼 應為一般網站都提供儲存使用者名稱的功能,所以我把這個寫到了外面。

【小家javaSessionCookie的區別聯絡、分散式session的幾種實現方式

相關閱讀 【小家java】java5新特性(簡述十大新特性) 重要一躍 【小家java】java6新特性(簡述十大新特性) 雞肋升級 【小家java】java7新特性(簡述八大新特性) 不溫不火 【小家java】java8新特性(簡述十大新特性) 飽受讚譽 【小家java】java9

java web session+cookie實現使用者自動登入

      在之前的博文中介紹了專案中防止使用者重複登入的方案及解決非法退出異常的處理方法——監聽瀏覽器關閉事件onbeforeunload,傳送ajax請求到伺服器端執行正常退出程式,以避免使用者被鎖死的情況。然後在實際的測試中發現,有些瀏覽器如火狐是無法監聽到befor

PHP中的會話控制—sessioncookie(實現數據傳值功能)

代碼 會有 數據 xmlns code 特點 會話控制 pre color 1.session 登錄上一個頁面以後,長時間沒有操作,刷新頁面以後需要重新登錄。 特點:(1)session是存儲在服務器;    (2)session每個人(登陸者)存一份;    (3)

ThinkPHP5.0用SessionCookie實現登陸/記住登陸/防止重複登陸/防止未登陸的非法操作

1.程式碼基於ThinkPHP5.0框架; 前端AJAX程式碼   後臺登陸驗證 後臺所有非登陸操作都繼承Base類 ,重寫Base類的_initialize()初始化方法 判斷Cookie中的 PHPSESSID是否存在,存在表示已經登陸

使用SessionCookie實現登入認證

後臺管理頁面往往需要登入才可以進行操作,這時就需要Seession來記錄登入狀態要實現起來也是非常簡單,只需要自定義一個HandlerInterceptor就行了自定義的HandlerInterceptor也只有短短几行程式碼?123456789101112131415161

JavaSessionCookie的區別

Cookie資料儲存在客戶端,Session資料儲存在伺服器端。 Session是由應用伺服器維持的一個伺服器端的儲存空間,使用者在連線伺服器時,會由伺服器生成一個唯一的SessionID,用該SessionID 為識別符號來存取伺服器端的Session儲存空間。而Sess

JavaWeb日記——SessionCookie實現登入認證

後臺管理頁面往往需要登入才可以進行操作,這時就需要Seession來記錄登入狀態 要實現起來也是非常簡單,只需要自定義一個HandlerInterceptor就行了 自定義的HandlerInterceptor也只有短短几行程式碼 public c

sessioncookie是什麼,登入,許可權控制,不登入不讓訪問資源

session是什麼? 1session是會話, 會話狀態僅在支援 cookie 的瀏覽器中保留(詳情訪問網址http://lovejing007.iteye.com/blog/1585634)。 2瀏覽器訪問http://127.0.0.1:8080/test網站,輸入h

mvc框架下,怎樣用cookie實現下次自動登入

登入時有個下次自動登入的checkBox。點了它下次就可以自動登入了 具體流程我都曉得,就是細節的地方有些搞不定。我只要解決3個問題: (1)登入時如果點了checkbox,則在本機產生一個cookie,用來儲存使用者名稱和密碼; (2)點選安全退出時,將cookie刪

利用cookiesession Filter實現簡單的自動登陸

需求: 1.當用戶請求主頁面時如果沒有登陸轉發到登陸介面 2.將使用者資訊存入到session中,賬號密碼存入cookie。 3.利用Filter過濾全域性檢測cookie,呼叫service實現登陸。 密碼加密,登陸,註冊頁面不能自動登陸 j

Java Web 深入分析(9) Session Cookie

等等 常用 log 就是 key set 協議 body 數據 前言: session 和cookie都是為了保持服務器和客戶端之間交互狀態。如果一天的PV有幾億,而一個cookie占200個字節但是也會占用很多帶寬?所以大訪問量就引用session,但是幾百臺服務器集群

8、Django實戰第8天:sessioncookie自動登錄機制

src exp 密碼登錄 spa 一個 實現 服務器 技術 狀態 因為http是無狀態協議,因此,並不會記錄用戶的登錄狀態。在早期,是直接把用戶名和密碼等信息存儲在瀏覽器的cookie來實現記錄用戶密碼登錄。 但是這樣存在安全隱患,只要別人登錄你的電腦cookie信息,就

java中的sessioncookie

cookie和session Cookie,有時也用其複數形式Cookies,指某些網站為了辨別使用者身份、進行session跟蹤而儲存在使用者本地終端上的資料(通常經過加密)。 Session具體到Web中的Session指的就是使用者在瀏覽某個網站時,從進入網站到關閉這

sessioncookie自動登入機制

cookie的儲存 cookie是瀏覽器支援的一種本地儲存方式。以dict,鍵值對方式儲存。 {"sessionkey": "123"} 瀏覽器會自動對於它進行解析。 http請求是一種無狀態的請求 使用者向伺服器發起的兩次請求之間是沒有狀態的。也就是伺服器並不知道這是同一個使用者發的。

Java基礎面試題(12)----sessioncookie的區別

問題 session和cookie的區別? 解析 聯絡 session和cookie都是會話跟蹤技術。 cookie通過再客戶端記錄資訊,確定使用者的身份 session通過再服務端記錄使用者確定使用者的身份 但是session的實現依賴於cookie,se

Java開發中SessionCookie都有哪些區別?

1.背景介紹 什麼是CookieCookie 是在HTTP協議下,伺服器或指令碼可以維護客戶工作站上資訊的一種方式。Cookie 是由 Web伺服器儲存在使用者瀏覽器(客戶端)上的小文字檔案(內容通常經過加密),它可以包含有關使用者的資訊。無論何時使用者連結到伺服器,Web站點都可以訪問

談談分散式Session的幾種實現方式,SessionCookie的區別聯絡以及Session實現原理

一。分散式Session的幾種實現方式 1.基於資料庫的Session共享 2.基於NFS共享檔案系統3.基於memcached 的session,如何保證 memcached 本身的高可用性?4. 基於resin/tomcat web容器本身的session複製機制5.

sessioncookie的使用方法、區別,分別實現驗證登入狀態

使用方法:1、建立cookie,setcookie(string name, string value, int expire , string path,  string domain, bool secure);

session實現機制?session的生命週期設定?sessioncookie的區別?

session的實現機制: 我的理解是這樣的,使用者在登陸時,向伺服器傳送請求,伺服器處理請求,session_start()開啟session,將使用者資訊儲存在session中,並生成一個session_id,將session_id傳送給客戶端,客戶端將s