首页新闻找找看学习计划

MVC 做下次自动登录

0
悬赏园豆:40 [已解决问题] 解决于 2014-07-08 11:13

我用cookie尝试着做  但是在后台获取到用户名cookie的值总是null  但是密码的cookie的值又能获取到。代码如下:

这是controller 保存cookie的代码

public JsonResult LogOn(string sname, string spwd, string autologin) 
        {
            userItem u = userTable.getOneByName(sname,spwd);
            if (u != null)
            {
                if (autologin == "1")
                {
                    Response.Cookies["name"].Value = u.name;
                    Response.Cookies["pwd"].Value = u.password;
                    Response.Cookies["id"].Value = true.ToString();
                }
            }
            return Json(u, JsonRequestBehavior.AllowGet);
        }
View Code
$(document).ready(function () {
            $("#btnlogin").live("click", chkUser);

        });
        document.onkeydown = function (e) {
            var _lPwd = $.trim($("#txtpwd").val());
            var theEvent = window.event || e;
            var code = theEvent.keyCode || theEvent.which;
            if (code == 13 && _lPwd.length > 3) {
                $("#btnlogin").click();
            }
        }

        //var cookie = document.cookie["name"];

        chkUser = function () {
            var cookieId = getCookie("id");

            if (cookieId == "1") {
                var _uerName = getCookie("name");
                var _userPwd = getCookie("pwd");
            } else {
                var _userName = $("#userName").val();
                var _userPwd = $("#txtpwd").val();
            }
            var _gourl = $("#loginurl").val();
            var _isautologin = "0";
            if ($("#Checkbox1").attr("checked") == true) {
                _isautologin = "1";
            }



           
                if (_userName == "" || _userPwd == "") {
                    alert("用户名、密码不能为空");
                    return;
                }
                 $.get("/OneGarIndex/LogOn"
                    , { sname: _userName, spwd: _userPwd, autologin: _isautologin }
                    , function (data) {
                        if (data != "") {
                            alert("登陆成功");
                            alert(_uerName + "  b");
                            alert(_userPwd + "  c");
                            alert(cookieId + "  a");
                            location.href = "/OneGarIndex/Index"; //_gourl;
                            //return;
                        }
                        else {
                            alert("用户名或密码错误");
                            return;
                        }
                    }
                );
        }

  //获取cookie的方法
        function getCookie(cookie_name) {
            var allcookies = document.cookie;
            var cookie_pos = allcookies.indexOf(cookie_name);  
            if (cookie_pos != -1) {
                // 把cookie_pos放在值的开始,只要给值加1即可。
                cookie_pos += cookie_name.length + 1;  
                var cookie_end = allcookies.indexOf(";", cookie_pos);
                if (cookie_end == -1) {
                    cookie_end = allcookies.length;
                }
                var value = unescape(allcookies.substring(cookie_pos, cookie_end));
            }
            return value;
        }
View Code

上面是JS代码  求大家指导

问题补充:

   怎么才能是他自动登录    然后  他自动登录之后我清楚cookie 就好了吗?

过客丶的主页 过客丶 | 初学一级 | 园豆:13
提问于:2014-07-03 11:27
< >
分享
最佳答案
0

两次声明的对象不一样,你存值的时候用的是 _uerName ,但是你传递到后台的却是 _userName ,赋值的时候写错变量名了,你检查看看。

chkUser = function () {

var cookieId = getCookie("id");

if (cookieId == "1") {

  var _uerName = getCookie("name");

  var _userPwd = getCookie("pwd");

}

else {

  var _userName = $("#userName").val();

  var _userPwd = $("#txtpwd").val();

}

var _gourl = $("#loginurl").val();

var _isautologin = "0";

if ($("#Checkbox1").attr("checked") == true)

{ _isautologin = "1"; }

 

$.get("/OneGarIndex/LogOn" , { sname: _userName, spwd: _userPwd, autologin: _isautologin }

收获园豆:20
晓菜鸟 | 老鸟四级 |园豆:2594 | 2014-07-03 13:47
其他回答(2)
0

抓个包,看看请求的 Headers。

收获园豆:10
Launcher | 园豆:45040 (高人七级) | 2014-07-03 13:33
0

你到后台断点看下,你的用户名和密码是否传递成功了。

然后登录用get,密码存客户端,这两种方式不太好!

收获园豆:10
幻天芒 | 园豆:36522 (高人七级) | 2014-07-03 13:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册