密码:
网络营销 it新闻 军事新闻 社会新闻 it技术 网站优化 游戏资讯 公司资讯
JAVA通过Session和Cookie实现网站自动登录的技术
发布日期:2013-05-02 阅读数:987 来源:装修新闻 由金功呈网站建设公司整理 【关闭】



JAVA通过Session和Cookie实现网站自动登录的技术  

 
2008-10-06 11:35:17|  分类: 计算机相关 |字号 订阅
JAVA通过Session和Cookie实现网站自动登录的技术
 
第一步,登陆的时候一旦选择了[自动登录]的选项,则需要在登陆成功后,附加下面的代码
 
应为一般网站都提供保存用户名的功能,所以我把这个写到了外面。只有密码是单独处理的。
 
其中的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{
 
           // 登陆不成功的处理
 
        }
 
      }
 
    }
 
最后一个注意事项,应该在退出登录里面清除cookie,以免他无法换账号登陆了!
 
logout.jsp
 
复制内容到剪贴板
 
代码:
 
  cookie = new Cookie("SESSION_LOGIN_PASSWORD", "");
 
  cookie.setPath("/");
 
  cookie.setMaxAge(99999999);
 
  cookie.setDomain(host);
 
  response.addCookie(cookie);
 
安全提示:
 
一旦自动登录失败,则取消其自动登录的可能性,防止暴力破解!
 
方法可以简单的更新对应的User的一个属性。
 
这个标志只有下次正常输入验证码的登陆才会被清除!!
网站建设就找金功呈,网址:http://www.songhu9.com.cn,通过互谅网整理有用信息,希望对广大网民有帮助!
 


广州金功呈网站建设网微信二维码
  • 深圳市一键一家网络科技有限公司官方网址:http://www.songhu9.com.cn
  • QQ:316675593,电话号码:19807655856
  • 业务范围:公司网站建设、管理软件研发、软件网站二次开发、400电话、电商平台研发、公众号研发!
  • 免责申明:本站内容均来源于网络,版权归原创所有,如有任何版权方面的问题,请与我们联系处理!