自动登录通过Cookie对象实现

导读:本篇文章讲解 自动登录通过Cookie对象实现,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1:介绍原理

 *  免登录(自动登录)
 *      通过Cookie和Session对象实现
 *
 *      什么时候使用免登录:
 *          当用户处于未登录状态,且去请求需要登录才能访问的资源时,调用自动登录功能
 *
 *      目的:
 *          让用户处于登录状态(自动调用登录方法)
 *
 *      实现:
 *          从Cookie对象中获取用户的姓名与密码,自动执行登录操作
 *              1. 获取Cookie数组  request.getCookies()
 *              2. 判断Cookie数组
 *              3. 遍历Cookie数组,获取指定的Cookie对象 (name为user的cookie对象)
 *              4. 得到对应的cookie对象的value (姓名与密码:userName-userPwd)
 *              5. 通过split()方法将value字符串分割成数组
 *              6. 从数组中分别得到对应的姓名与密码值
 *              7. 请求转发到登录操作  user?actionName=login&userName=姓名&userPwd=密码
 *              8. return
 *
 *     如果以上判断都不满足,则拦截跳转到登录页面
 *
 */

代码展示:


        /**
         * 免登录 (自动登录)
         *      从Cookie对象中获取用户的姓名与密码,自动执行登录操作
         */
        // 1. 获取Cookie数组  request.getCookies()
        Cookie[] cookies = request.getCookies();
        // 2. 判断Cookie数组
        if (cookies != null && cookies.length > 0) {
            // 3. 遍历Cookie数组,获取指定的Cookie对象 (name为user的cookie对象)
            for (Cookie cookie: cookies) {
                if ("user".equals(cookie.getName())) {
                    // 4. 得到对应的cookie对象的value (姓名与密码:userName-userPwd)
                    String value = cookie.getValue(); // admin-admin
                    // 5. 通过split()方法将value字符串分割成数组
                    String[] val = value.split("-");
                    // 6. 从数组中分别得到对应的姓名与密码值
                    String userName = val[0];
                    String userPwd = val[1];
                    // 7. 请求转发到登录操作  user?actionName=login&userName=姓名&userPwd=密码
                    String url = "user?actionName=login&rem=1&userName="+userName+"&userPwd="+userPwd;
                    request.getRequestDispatcher(url).forward(request,response);
                    // 8. return
                    return;
                }

            }

        }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/81106.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!