`
topvip2010
  • 浏览: 3262 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用Session和Cookie实现网站自动登录

阅读更多
使用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{
           // 登陆不成功的处理
        }
      }
    }

这部份代码可以写到action或servlet中。最后一个注意事项,应该在退出登录里面清除cookie,以免他无法换账号登陆了!

logout.jsp内容如下:

cookie = new Cookie("SESSION_LOGIN_PASSWORD", "");
cookie.setPath("/");
cookie.setMaxAge(99999999);
cookie.setDomain(host);
response.addCookie(cookie);

注意事项:
一旦自动登录失败,则取消其自动登录的可能性,防止暴力破解! 所以通常会在对应的实体中定义一个属性来标示是否自动登录,也就是说:这个标志只有下次正常输入验证码的登陆才会被清除!!
分享到:
评论

相关推荐

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

    通过使用 Session 和 Cookie,网站可以实现自动登录功能,提高用户体验。同时,在实现自动登录时,需要对密码进行加密,以确保密码的安全。在实际开发中,需要根据具体情况选择合适的实现方法。

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

    ### JAVA通过Session和Cookie实现网站自动登录 在现代Web应用开发中,用户认证与授权是极为重要的环节之一。为了提供良好的用户体验,很多网站都提供了自动登录功能,即用户首次登录后,在一定时间内再次访问该网站...

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

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

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

    在.NET开发中,Session和Cookie是两种常用的用户状态管理机制,尤其在实现网站的自动登录功能时,它们扮演着至关重要的角色。本文将详细介绍这两种技术及其在实现自动登录中的应用。 首先,Session是服务器端存储...

    jsp cookie+session实现简易自动登录

    本文实例为大家分享了jsp cookie+session实现简易自动登录的具体代码,供大家参考,具体内容如下 关闭浏览器只会使存储在客户端浏览器内存中的session cookie失效,不会使服务器端的session对象失效。 如果设置了...

    j2ee实验二:学习使用Session和Cookie

    3. **设定Session生命周期**:设置Session的有效时间,以实现自动注销功能。 4. **开发一个下载文件的JavaEE Web应用**:创建一个能够提供文件下载服务的Web应用。 5. **开发一个Session监听器**:实现Session创建和...

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

    在Web开发中,Cookie和Session是两种常见的用户身份验证...通过以上讲解,你应该对C#中如何使用Cookie和Session进行登录实现了深入的理解。实际项目中,应根据需求选择适合的用户认证方法,并确保遵循最佳安全实践。

    Cookie实现自动登录

    本文将深入探讨Cookie如何实现自动登录,以及与之相关的源码和工具。 Cookie是Web服务器发送到用户浏览器并存储在本地的一小段数据,用于在后续请求中识别用户。它们是HTTP协议无状态特性的补充,因为HTTP本身不...

    session 和cookie 区别

    **自动登录**:通过向用户发送一个包含唯一用户ID的cookie,在用户下次访问时,服务器检查这个cookie,确认用户身份,从而实现自动登录,避免了每次登录都需要输入用户名和密码的过程。 **定制站点**:网站可以利用...

    javaWeb_Session(实现用户一段时间自动登录)

    综上所述,JavaWeb中的Session技术是实现用户自动登录的核心,它通过在服务器端存储用户信息并在客户端通过Cookie传递Session ID来保持用户状态。正确地配置和管理Session,能够为用户提供流畅的登录体验,同时也...

    TP5 Session和Cookie

    当用户登录网站后,服务器会在服务器端为该用户创建一个唯一的Session ID,并将其发送到用户的浏览器,通常存储在一个名为PHPSESSID的Cookie中。用户在每次向服务器发送请求时,都会将这个Session ID带回来,服务器...

    session与cookie的区别和联系?

    - 如果用户的浏览器禁用了Cookie,或者某些情况无法使用Cookie,可以采用URL重写等技术来实现Session ID的传递。 - 例如,可以在URL中加入Session ID参数,或者通过隐藏表单字段等方式来传递Session ID。 3. **...

    flask-session-cookie-manager

    - `flask_session_cookie_manager3.py`和`flask_session_cookie_manager2.py`:很可能是实现cookie管理功能的Python源代码文件,可能有不同的版本或者功能差异。 - `setup.py`:Python项目的标准配置文件,用于定义...

    PHP cookie,session的使用与用户自动登录功能实现方法分析

    自动登录通常是通过Cookie实现的。当用户首次登录成功后,服务器会生成一个包含用户身份信息的安全Token(如哈希过的用户ID),并设置为Cookie。当用户下次访问时,服务器检查这个Cookie,如果验证通过,就无需用户...

    cookie+session实现的单点登录案例

    在这个案例中,我们将探讨如何利用Cookie和Session来实现SSO,同时结合第三方社交登录,如微博,来增强用户体验。 ### Cookie与Session的基本原理 1. **Cookie**: 是服务器发送到用户浏览器并存储的一小块数据,...

    flask、session、cookie解加密脚本

    在处理用户登录和会话管理时,`session`和`cookie`是两个核心概念。本文将深入探讨`Flask`中的`session`和`cookie`,以及如何对它们进行解密。 首先,`session`和`cookie`都是用于跟踪用户状态的方法。`cookie`通常...

    JavaWeb基础-Cookie和Session的简单使用案例

    在实际应用中,开发者通常结合使用Cookie和Session,比如用Cookie存储用户偏好,用Session管理用户登录状态。同时,为了增强安全性,可以定期刷新Session ID,或者设置合理的Session过期时间,避免长时间未操作的...

    经典收藏Cookie和Session

    - **自动登录功能**:网站通常会提供“记住我”选项,即通过设置持久Cookie来保存用户的登录状态,以便下次访问时无需重新登录。 - **个性化推荐**:利用Cookie记录用户的浏览历史和喜好,为用户提供个性化的服务。 ...

Global site tag (gtag.js) - Google Analytics