コード例 #1
0
        public CLogin Result([FromForm] string username, [FromForm] string userpass)
        {
            Mlogin mlogin = new Mlogin
            {
                //这个信息只能在controller里获取,model里不能获取
                UserIP    = Request.HttpContext.Connection.RemoteIpAddress.ToString(),
                UserAgent = Request.Headers["User-Agent"].ToString()
            };
            MD5 md5 = MD5.Create();

            //PMStaticModels.UserModels.PMUser.UserSysID
            userpass += username;
            string userPass = "";

            byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(userpass.Trim()));
            for (int i = 0; i < s.Length; i++)
            {
                // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
                userPass += s[i].ToString("X");
            }
            CLogin cLogin = mlogin.ForceOut(username, userPass);

            if (cLogin.LoginState == 1)
            {
                Response.Cookies.Append("EmpID", PmUser.EmpID.ToString(), new CookieOptions()
                {
                    IsEssential = true
                });
                Response.Cookies.Append("UserGuid", PmUser.UserGuid, new CookieOptions()
                {
                    IsEssential = true
                });
                if (PmUser.IsAdmin == true)
                {
                    Response.Cookies.Append("MD5", PublicFunc.GetMd5("ADMIN" + Guid.NewGuid().ToString()), new CookieOptions()
                    {
                        IsEssential = true
                    });
                }
            }
            PublicFunc.WriteUserLog(PmUser.EmpID.ToString(), mlogin.UserIP, "强制登出", "用户选择强制登出", mlogin.UserAgent);
            return(cLogin);
        }