예제 #1
0
        public ActionResult LoginIn(ReqUserLogin userLogin)
        {
            var chekUser = user.CheckLogin(userLogin);

            if (!chekUser.Item1)
            {
                return(Json(ResMessage.CreatMessage(ResultMessageEnum.AuthorityCheck, "用户或密码错误")));
            }
            int userId = chekUser.Item2;

            SessionManager.Add(ConstString.UserLoginId, userId);
            var token = userId.ToString().Encrypt();
            var obj   = new { token };

            return(Json(ResMessage.CreatMessage(ResultMessageEnum.Success, "登录成功", obj)));
        }
예제 #2
0
        /// <summary>
        /// 检查用户登录
        /// </summary>
        /// <param name="userInfo"></param>
        /// <returns></returns>
        public (bool, int) CheckLogin(ReqUserLogin userInfo)
        {
            bool validate = false;

            userInfo.pwd = userInfo.pwd.GetMD5FromString();
            var user   = _baseDal.FirstOrDefault(x => x.Phone.Equals(userInfo.account) && x.Password.Equals(userInfo.pwd));
            int userId = 0;

            if (user != null)
            {
                CacheManager.Add(UserInfo.GetKey(userId), user);
                userId   = user.Id;
                validate = true;
            }
            return(validate, userId);
        }
예제 #3
0
        private async void button1_Click(object sender, EventArgs e)
        {
            button1.Enabled = false;
            var login = new ReqUserLogin()
            {
                UserName = textBox1.Text,
                PassWord = textBox2.Text
            };
            var res = await NetClient.Instance.Request <ResUserLogin>(login);

            if (res.Success)
            {
                NetClient.Instance.Session = res.Session;
                Console.WriteLine($"登陆成功!\r\n{res.Session.ToString()}");
                label3.Text = ($"登陆成功!\r\n{res.Session.ToString()}");
            }
            else
            {
                label3.Text = (res.Message);
            }
            button1.Enabled = true;
        }
예제 #4
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="context"></param>
        /// <param name="body"></param>
        public void ReqUserLoginHandle(Context context, ReqUserLogin body)
        {
            var db   = context.DbContext;
            var user = db.UserEntities.FirstOrDefault(i => i.UserName == body.UserName && i.Password == body.PassWord);

            if (user != null)
            {
                var session = new SessionEntity()
                {
                    ExpirationTime = DateTime.Now.AddHours(1),
                    User           = user,
                    Verified       = true,
                    VerifiedTime   = DateTime.Now
                };
                db.SessionEntities.Add(session);
                db.SaveChanges();
                context.Response(new ResUserLogin()
                {
                    Message = "登陆成功!",
                    Success = true,
                    Session = session.GUID
                });
                Console.WriteLine($"Login :  UserName : {user.UserName}  NickName : {user.NickName} PassWrod : {user.Password}");
            }
            else
            {
                //异常模式
                throw new NotImplementedException("账号或密码错误");

                /*
                 * context.Response(new ResUserLogin()
                 * {
                 *  Message = "账号或密码错误!",
                 *  Success = false,
                 * });
                 *
                 */
            }
        }
예제 #5
0
        public async Task <IActionResult> Authenticate(ReqUserLogin reqGetUserLogin)
        {
            if (reqGetUserLogin.Password == null)
            {
                reqGetUserLogin.Password = "";
            }
            if (ModelState.IsValid)
            {
                var user = await _context.Users.FirstOrDefaultAsync(m => m.UserName == reqGetUserLogin.UserName && m.Passwword == reqGetUserLogin.Password);

                if (user == null)
                {
                    TempData["Error"] = "Kullanıcı Adı Yada Şifre Yanlış";
                    return(View());
                }
                var claims = new List <Claim>
                {
                    new Claim(ClaimTypes.Name, user.UserName),
                    new Claim(ClaimTypes.NameIdentifier, user.UserId.ToString()),
                };

                var claimsIdentity = new ClaimsIdentity(
                    claims, CookieAuthenticationDefaults.AuthenticationScheme);

                var authProperties = new AuthenticationProperties
                {
                    ExpiresUtc   = DateTimeOffset.UtcNow.AddDays(1),
                    IsPersistent = true,
                };

                await HttpContext.SignInAsync(
                    CookieAuthenticationDefaults.AuthenticationScheme,
                    new ClaimsPrincipal(claimsIdentity),
                    authProperties);

                return(RedirectToAction("Index", "Home"));
            }
            return(View());
        }