JSP 通過Session和Cookie實現網站自動登入

來源:互聯網
上載者:User

 第一步,登陸的時候一旦選擇了[自動登入]的選項,則需要在登陸成功後,附加下面的代碼. 因為一般網站都提供儲存使用者名稱的功能,所以我把這個寫到了外面。只有密碼是單獨處理的。
其中的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的密碼
        }www.111cn.net
      }
      if (usernameCookie != null && passwordCookie != null) { // 如果存在
        if(Login.checkLogin(usernameCookie ,passwordCookie)){
          // 登陸成功的處理
        }else{
           // 登陸不成功的處理
        }
      }
    }


是不是很簡單

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.