做网站前端用户登录时需要有个下次自动登录的功能。看了看各大网站都有这种功能。
问题描述:用户登录网站时,一般有个checkbox让用户选择是否可以下次自动登录。选择后,即使用户关闭浏览器,下次再访问这个网站时直接就登录了,不需要用户名和密码。
主要使用cookie。cookie是web服务器存放在客户端的一个文件,主要用来记录用户浏览网站信息的。它主要有两个功能:一个是记录用户信息,下次自动登录的。另一个是记录跟踪统计用户浏览网页的习惯(浏览过哪些网站?停留时间,利用这个可以做访问量统计),我们主要用到第一个功能。配合代码讲解:
核心类:UserCookieUtil
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;
import net.cloudsun.base.entity.User;
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
public class UserCookieUtil {
// 保存cookie的cookieName
private final static String cookieDomainName = "项目名"; //自己随便定义
// 加密cookie时的网站自定码
private final static String webKey = "项目名"; //自己随便定义
// 设置cookie有效期是两个星期,根据需要自定义
private final static long cookieMaxAge = 60 * 60 * 24 * 7 * 2;
// 保存Cookie到客户端
// 传递进来的user对象中封装了在登陆时填写的用户名与密码
public static void saveCookie(User user, HttpServletResponse response) {
// cookie的有效期至(到哪一天)
long validTime = System.currentTimeMillis() + (cookieMaxAge * 1000);
// MD5加密用户详细信息(其实就是把当前用户加密一下,