layui登录时,记住密码怎么实现

提问 未结 14 2151
Programmer414
悬赏:20飞吻
版本:layui 浏览器:
登录时记住密码如何实现,求代码,谢谢
回帖
  • Jackie
    2018-9-9
    这是我的实现方法,仅供参考,希望对你有帮助。
    <!-- 记住用户名复选框 -->
    <input type="checkbox" name="remember_user" id="remember_user" lay-skin="primary" title="记住用户" />

    /* JS代码 */
    /*记住用户名和密码*/
    $(function() {
    if ($.cookie("remember_user")) {
    $("#remember_user").prop("checked", true);
    $("#user_name").val($.cookie("user_name"));
    $("#user_password").val($.cookie("user_password"));
    }
    });

    function saveUserInfo() {
    if ($("#remember_user").prop("checked") == true) {
    var user_name = $("#user_name").val();
    var user_password = $("#user_password").val();
    $.cookie("remember_user", "true", {
    expires: 7
    }); // 存储一个带7天期限的 cookie
    $.cookie("user_name", user_name, {
    expires: 7
    }); // 存储一个带7天期限的 cookie
    $.cookie("user_password", user_password, {
    expires: 7
    }); // 存储一个带7天期限的 cookie
    } else {
    $.cookie("remember_user", "false", {
    expires: -1
    }); // 删除 cookie
    $.cookie("user_name", '', {
    expires: -1
    });
    $.cookie("user_password", '', {
    expires: -1
    });
    }
    }
    2 回复
  • 厉害厉害······
    0 回复
  • @Jackie 你的写在页面还是js文件里
    0 回复
  • Jackie
    2018-9-10
    @Programmer414 我就写在页面里的
    0 回复
  • 记住密码只靠前端是没用的,前后端都要实现才行,后端建议用token,不建议使用session
    0 回复
  • @MoCno 前端cookie一样可以滴哦[嘻嘻]
    0 回复
  • @Ely_lon 前端的cookie和后台的session是对应关系的,你把cookie存起来有什么用,后台的session过期了你这个cookie还有什么用
    0 回复
  • @MoCno 这里只是记住密码,在浏览器端把用户名和密码存储一个cookie,在访问登录页面的时候从浏览器本地cookie中读取用户名密码即可,你所说的cookie和后台session的确是对应起来的,后台从session中取数据时是通过浏览器向后台发送一个cookie请求头,这个cookie请求头中包含了一个jsessionid,后台从session中取值主要也是通过这个sessionid去取值,如果我们只是在页面上单纯的记住用户名和密码,这其实是不需要到后台去取值的,所以前端的cookie完全可以实现
    0 回复
  • 仅供参考
    0 回复
  • getCookie: function(name) {
    var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
    if(arr = document.cookie.match(reg)) {
    return unescape(arr[2]);
    } else {
    return null;
    }
    }
    /**
    * 设置cookie
    * @param {Object} name: cookie名称
    * @param {Object} value: cookie值 ,每个值之间用“,”隔开,如:“123,456,123” 三个值
    * @param {Object} time: s20是代表20秒 h是指小时,如12小时则是:h12 d是天数,30天则:d30
    */
    ,setCookie: function(name, value, time) {
    var strsec = '';
    var str1 = time.substring(1, time.length) * 1;
    var str2 = time.substring(0, 1);
    if(str2 == "s") {
    strsec = str1 * 1000;
    } else if(str2 == "h") {
    strsec = str1 * 60 * 60 * 1000;
    } else if(str2 == "d") {
    strsec = str1 * 24 * 60 * 60 * 1000;
    }
    var exp = new Date();
    exp.setTime(exp.getTime() + strsec * 1);
    document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
    }
    ,delCookie: function(name) {
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval = mcfish.getCookie(name);
    if(cval != null) {
    document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
    }
    }
    0 回复