Пример #1
0
        public string LoginIN(string username, string userpassword, string Validatecode, int remember, bool realMobileUser = false)
        {
            string         ip          = Utils.GetRealIP();
            string         json        = "";
            B_member_table o           = new B_member_table();
            string         strIdentify = "LoginValidateCode"; //随机字串存储键值,以便存储到Session中

            var ts = true;

            if (Settings.Instance.SiteDomain.IndexOf(PublicURL.NewPCUrl) >= 0)
            {
                ts = false;
            }


            if (realMobileUser || Session[strIdentify] != null)
            {
                if (realMobileUser && ts == false)
                {
                    if (Session[strIdentify].ToString() != Validatecode)
                    {
                        json = @" {""rs""    : ""n"", ""error""      :  ""验证码不对!""}";
                        return(json);
                    }
                }
                if (realMobileUser || Session[strIdentify].ToString() == Validatecode)
                {
                    int userid = o.CheckLogin(username, userpassword);

                    if (userid > 0)
                    {
                        M_login mlogin = new M_login();
                        mlogin.userid   = userid;
                        mlogin.username = username;
                        mlogin.codeno   = Utils.SetSessioncode();
                        Utils.AddLoginCache(username, mlogin);

                        string sql = "update hx_member_table set lastlogintime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',lastloginIP='" + Utils.GetRealIP() + "' where registerid=" + userid.ToString();

                        LogInfo.WriteLog("登录信息更新" + sql);
                        DbHelperSQL.ExecuteSql(sql);

                        #region 登录成功
                        try
                        {
                            hx_td_usrlogininfo usrmode = new hx_td_usrlogininfo();
                            usrmode.logintime    = DateTime.Now;
                            usrmode.Loginusrname = username;
                            usrmode.loginusrpass = "******";
                            usrmode.registerid   = userid;
                            usrmode.loginIP      = ip;
                            usrmode.logincity    = GetIpToCity.GetAddressByIp(ip);
                            usrmode.loginsource  = 1;
                            usrmode.loginstate   = 0;
                            ef.hx_td_usrlogininfo.Add(usrmode);
                            int ie = ef.SaveChanges();

                            //登录发送1580奖励(活动时间:2017.1.9-1.24)
                            using (ChuanglitouP2P.BLL.EF.ActFacade actFacade = new ChuanglitouP2P.BLL.EF.ActFacade())
                            {
                                actFacade.LoginSendDKQ(userid);
                            }
                        }
                        catch (Exception tx)
                        {
                            throw (tx);
                        }
                        #endregion
                        var jmpUrl = DNTRequest.GetString("jmpUrl");
                        if (!string.IsNullOrEmpty(jmpUrl))
                        {
                            return(Newtonsoft.Json.JsonConvert.SerializeObject(new { rs = "y", url = jmpUrl }));
                        }

                        return(Newtonsoft.Json.JsonConvert.SerializeObject(new { rs = "y", url = "/" }));
                    }
                    else if (userid == -100)
                    {
                        #region 登录失败
                        try
                        {
                            hx_td_usrlogininfo usrmode = new hx_td_usrlogininfo();
                            usrmode.logintime    = DateTime.Now;
                            usrmode.Loginusrname = username;
                            usrmode.loginusrpass = "******";
                            usrmode.registerid   = userid;
                            usrmode.loginIP      = ip;
                            usrmode.logincity    = GetIpToCity.GetAddressByIp(ip);
                            usrmode.loginsource  = 1;
                            usrmode.loginstate   = 2;
                            ef.hx_td_usrlogininfo.Add(usrmode);
                            int ie = ef.SaveChanges();
                        }
                        catch { }
                        #endregion


                        return(Newtonsoft.Json.JsonConvert.SerializeObject(new { rs = "n", error = "禁止登录!" }));
                    }
                    else
                    {
                        #region 登录失败
                        try
                        {
                            hx_td_usrlogininfo usrmode = new hx_td_usrlogininfo();
                            usrmode.logintime    = DateTime.Now;
                            usrmode.Loginusrname = username;
                            usrmode.loginusrpass = "******";
                            usrmode.registerid   = userid;
                            usrmode.loginIP      = ip;
                            usrmode.logincity    = GetIpToCity.GetAddressByIp(ip);
                            usrmode.loginsource  = 1;
                            usrmode.loginstate   = 1;
                            ef.hx_td_usrlogininfo.Add(usrmode);
                            int ie = ef.SaveChanges();
                        }
                        catch { }
                        #endregion



                        return(Newtonsoft.Json.JsonConvert.SerializeObject(new { rs = "n", error = "用户名或密码错误!" }));
                    }
                }

                return(Newtonsoft.Json.JsonConvert.SerializeObject(new { rs = "n", error = "验证码不对!" }));
            }

            return(Newtonsoft.Json.JsonConvert.SerializeObject(new { rs = "n", error = "验证码过期!" }));
        }