欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java自动登录

程序员文章站 2022-04-28 22:00:05
...
第一步,登陆的时候一旦选择了[自动登录]的选项,则需要在登陆成功后,附加下面的代码 
应为一般网站都提供保存用户名的功能,所以我把这个写到了外面。只有密码是单独处理的。 
其中的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