예제 #1
0
        public async Task <IActionResult> login2([Bind("Email,Password")] loginInfor loginInfor, string redirectUrl)
        {
            var existlogin = _context.Account.SingleOrDefault(ac => ac.Email == loginInfor.Email);

            if (existlogin == null)
            {
                return(new JsonResult("Thông Tin Đăng Nhập Không Chính xác"));
            }
            if (existlogin.Password == loginInfor.Password)
            {
                var checkroll = _context.AccountRole.SingleOrDefault(ar => ar.AccountId == existlogin.Id);
                if (checkroll == null)
                {
                    return(new JsonResult("Thông Tin Đăng Nhập Không Chính xác"));
                }
                HttpContext.Session.SetString("currentLogin", existlogin.Email);
                if (redirectUrl == null)
                {
                    return(Redirect("/Home"));
                }
                return(Redirect(redirectUrl));
            }
            else
            {
                return(new JsonResult("Thông Tin Đăng Nhập Không Chính xác"));
            }
            return(new JsonResult("aa"));
        }
        public async Task <IActionResult> login(loginInfor login)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var existLogin = _context.Account.SingleOrDefault(ac => ac.Email == login.Email);

            if (existLogin != null)
            {
                var salt = existLogin.Salt;
                login.Password += salt;
                var hash = _algorithm.ComputeHash(Encoding.UTF8.GetBytes(login.Password));
                login.Password = Convert.ToBase64String(hash);
                if (login.Password == existLogin.Password)
                {
                    MyCredential credential = new MyCredential(existLogin.Id);
                    credential.Status = MyCredentialStatus.Actived;
                    _context.Add(credential);
                    _context.SaveChanges();
                    Response.StatusCode = (int)HttpStatusCode.OK;
                    return(new JsonResult(credential));
                }
                else
                {
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                }
            }
            else
            {
                Response.StatusCode = (int)HttpStatusCode.Forbidden;
                return(Forbid());
            }
            return(Forbid());
            //return Forbid();
        }