`

cookie实现自动登陆(2)

 
阅读更多

完整的代码,用途请参见注释 

CookieUtil.java

处理cookie的工具类,包括读取,保存,清除三个主要方法。

      

package cn.itcast.util;

 

import java.io.IOException;

import java.io.PrintWriter;

import java.io.UnsupportedEncodingException;

 

import javax.servlet.FilterChain;

import javax.servlet.ServletException;

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

 

import cn.itcast.bean.User;

import cn.itcast.dao.UserDAO;

import cn.itcast.factory.DaoImplFactory;

import com.sun.org.apache.xerces.internal.impl.dv.util.Base64; 

 

public class CookieUtil {

       //保存cookie时的cookieName

       private final static String cookieDomainName = “cn.itcast”;

      

       //加密cookie时的网站自定码

       private final static String webKey = “itcast”;

      

//设置cookie有效期是两个星期,根据需要自定义

       private final static long cookieMaxAge = 60 * 60 * 24 * 7 * 2;        

 

       public static void saveCookie(User user, HttpServletResponse response) {

             

              //cookie的有效期

              long validTime = System.currentTimeMillis() + (cookieMaxAge * 1000);

             

              //MD5加密用户详细信息

              String cookieValueWithMd5 =getMD5(user.getUserName() + ":" + user.getPassword()

                            + ":" + validTime + ":" + webKey);

             

              //将要被保存的完整的Cookie

              String cookieValue = user.getUserName() + ":" + validTime + ":" + cookieValueWithMd5;

             

              //再一次对Cookie的值进行BASE64编码

              String cookieValueBase64 = new String(Base64.encode(cookieValue.getBytes()));

             

              //开始保存Cookie

              Cookie cookie = new Cookie(cookieDomainName, cookieValueBase64);
           

cookie.setMaxAge(60 * 60 * 24 * 365 * 2);

//cookie有效路径是网站根目录

              cookie.setPath("/");

              //向客户端写入

              response.addCookie(cookie);

       }

分享到:
评论

相关推荐

    cookie实现自动登入

    下面将详细阐述Cookie实现自动登录的原理、步骤以及相关的安全考虑。 **Cookie的基本概念与工作原理** Cookie由HTTP协议定义,主要用于管理客户端的状态。服务器在响应头中设置Set-Cookie字段,将Cookie信息传递给...

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

    在网站开发中,实现自动登录功能是非常重要的,JAVA 通过 Session 和 Cookie 实现网站自动登录的技术是其中的一种方法。本文将详细介绍如何使用 Session 和 Cookie 实现网站自动登录的技术。 一、什么是 Session 和...

    Java 模拟cookie登陆简单操作示例

    本示例主要是为了演示如何使用 Java 语言模拟 Cookie 登陆,实现自动登陆的功能。 是什么是 Cookie? 在了解 Java 模拟 Cookie 登陆之前,我们需要首先了解什么是 Cookie。Cookie 是一种小型文本文件,用于存储 ...

    c#实现cookie和session的登陆实例

    每次用户访问同一网站时,浏览器会自动将Cookie发送回服务器,从而让服务器识别用户。Session则是在服务器端存储用户状态的一种方式,它为每个会话创建一个唯一的ID,保存在服务器的内存中,通过这个ID来追踪用户的...

    Python之大麦网自动抢票(一) 实现模拟自动登陆

    Python之大麦网自动抢票(一) 实现模拟自动登陆 网上资源知识点: 面向对象编程 selenium 操作浏览器 pickle 保存和读取Cookie实现免登陆 time 做延时操作 os 创建文件,判断文件是否存在

    实现自动登陆(java) 实现自动登陆(java)

    在Java编程语言中,实现自动登录功能涉及到多个关键知识点,包括网络通信、HTTP协议、Cookie管理、Session处理以及可能的加密解密技术。下面将详细阐述这些内容。 首先,自动登录通常基于Web应用,因此我们需要了解...

    基于GO语言与chromedp库实现网站自动登录,以长期定时任务,实现三维家网站自动登录获取cookie,

    基于GO语言与chromedp库实现网站自动登录,以长期定时任务,实现三维家网站自动登录获取cookie,并更新到mysql数据库为例。Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门...

    cookie自动登陆

    下面将详细介绍Cookie自动登录的工作原理、实现方法以及相关的.NET技术。 **Cookie机制** Cookie是由服务器端生成,发送到客户端(通常是浏览器)的一小段文本信息。浏览器在后续的请求中会携带这个Cookie返回给...

    Servlet实现用户自动登陆

    总结来说,Servlet结合Cookie实现自动登录的关键在于正确处理用户的登录验证、Cookie的创建和读取,以及Session的状态管理。在实际开发中,还需要考虑安全性、性能优化等因素,以提供稳定且安全的用户体验。通过学习...

    cookie自动登录

    运用cookie实现用户自动登录功能。第一次登陆时如果选择自动登录,则在cookie有效期内访问,免登陆,直接跳转到登陆后主要面。

    cookie保持登陆状态

    2. **Cookie的设置与属性**: - `Set-Cookie`响应头用于设置Cookie,包括名称、值、过期时间、路径、域等属性。 - `Max-Age`或`Expires`用于指定Cookie的有效期,超过这个时间,浏览器将自动删除Cookie。 - `Path...

    [转]易语言|阿里妈妈自动登陆并保持登陆状态

    [转]易语言|阿里妈妈自动登陆并保持登陆状态,存E代码。

    Iframe+Cookie实现简单的单点登录

    通过共享Cookie,SSO系统可以在用户访问其他信任的服务时自动识别其身份。 在本示例中,我们有两个服务器:servera和serverb,它们都需要实现SSO。以下是实现步骤: 1. 用户首次访问servera或serverb,如果用户未...

    Filter实现自动登陆_源代码

    综上所述,"Filter实现自动登录"涉及到JavaWeb开发中的`Filter`机制、用户身份验证、Session管理和Cookie操作等核心知识点。通过合理利用这些技术,可以创建一个既便捷又安全的自动登录系统。在提供的源代码中,我们...

    通过js来设置cookie和读取cookie,实现登陆时记住密码的功能

    当用户再次访问网站时,浏览器会自动将这些cookie发送回服务器。 设置cookie主要涉及以下几个步骤: 1. 创建一个键值对对象,例如`{key: 'username', value: 'JohnDoe'}`。 2. 将对象转换为字符串,以便在HTTP头部...

    使用Java servlet实现自动登录退出功能

    使用Cookie实现自动登录是指系统在用户登录成功后,系统将用户的登录信息存储在Cookie中,以便下次用户访问时可以自动登录。Cookie是Web服务器用来存储用户信息的小文本文件。 知识点5:使用Filter实现自动登录 ...

    利用cookie实现三天免登陆示例(mvc分层模式).rar

    本示例是基于MVC(Model-View-Controller)分层模式,利用Cookie技术来实现用户登录后三天内自动免登陆的效果。 MVC模式是一种常见的软件设计模式,它将业务逻辑、数据和用户界面分离,使得开发、测试和维护变得更加...

    实现自动登陆.rar

    在这个名为"实现自动登陆.rar"的压缩包中,我们很可能找到了一个用JSP(JavaServer Pages)和Tomcat服务器实现自动登录功能的代码示例。下面将详细探讨JSP、Tomcat以及自动登录的相关知识点。 首先,JSP是一种动态...

    百度账号COOKIE登录浏览器

    当用户下次访问同一网站时,浏览器会发送这些COOKIE给服务器,从而识别用户身份,实现自动登录和其他个性化设置。百度账号的COOKIE包含了用户登录状态的信息,因此导入该COOKIE到特定浏览器后,用户无需输入账号密码...

    php利用cookie实现自动登录的方法

    PHP实现自动登录功能主要利用了Cookie机制来存储用户认证信息。在PHP中,Cookie是一种小型文本文件,可由Web服务器通过HTTP响应发送给用户的浏览器,并且浏览器会在之后的请求中将Cookie的内容发送回服务器,用于...

Global site tag (gtag.js) - Google Analytics