java自动登录

第一步,登陆的时候一旦选择了[自动登录]的选项,则需要在登陆成功后,附加下面的代码 
应为一般网站都提供保存用户名的功能,所以我把这个写到了外面。只有密码是单独处理的。 
其中的host就是你的域名 
1.	String host = request.getServerName();   
2.	Cookie cookie = new Cookie("SESSION_LOGIN_USERNAME", username); // 保存用户名到Cookie   
3.	cookie.setPath("/");   
4.	cookie.setDomain(host);   
5.	cookie.setMaxAge(99999999);   
6.	response.addCookie(cookie);   
7.	if (ParamUtils.getBooleanParameter(request, "savePassword")) {   
8.	  // 保存密码到Cookie,注意需要加密一下   
9.	  cookie = new Cookie("SESSION_LOGIN_PASSWORD", MD5.encode(u.getPassword()));    
10.	  cookie.setPath("/");   
11.	  cookie.setDomain(host);   
12.	  cookie.setMaxAge(99999999);   
13.	  response.addCookie(cookie);   
14.	}  
这样,Cookie就生成了 
第二步,在用户访问网站的时候,如果检测到没有登陆,则进行下面的判断。
1.	String usernameCookie = null;   
2.	String passwordCookie = null;   
1.	Cookie[] cookies = request.getCookies();   
2.	if (cookies != null) {   
3.	  for (Cookie cookie : cookies) {   
4.	    if ("SESSION_LOGIN_USERNAME".equals(cookie.getName())) {   
5.	      usernameCookie = cookie.getValue(); // 得到cookie的用户名   
6.	    }   
7.	    if ("SESSION_LOGIN_PASSWORD".equals(cookie.getName())) {   
8.	      passwordCookie = cookie.getValue(); // 得到cookie的密码   
9.	    }   
10.	  }   
11.	  if (usernameCookie != null && passwordCookie != null) { // 如果存在   
12.	    if(Login.checkLogin(usernameCookie ,passwordCookie)){   
13.	      // 登陆成功的处理   
14.	    }else{   
15.	       // 登陆不成功的处理   
16.	    }   
17.	  }   
18.	}  
最后一个注意事项,应该在退出登录里面清除cookie,以免他无法换账号登陆了!
1.	cookie = new Cookie("SESSION_LOGIN_PASSWORD", "");   
2.	cookie.setPath("/");   
3.	cookie.setMaxAge(99999999);   
4.	cookie.setDomain(host);   
5.	response.addCookie(cookie); 

你可能感兴趣的:(login)