示例#1
0
        // POST: api/<UserController>/Login
        public async Task <IActionResult> Login(LogingModel model)
        {
            //login
            var user = await _userManager.FindByNameAsync(model.UserName);

            if (user != null && await _userManager.CheckPasswordAsync(user, model.Password))
            {
                //create a tokenDescriptor with userId to generate token
                var tokenDescriptor = new SecurityTokenDescriptor
                {
                    Subject = new ClaimsIdentity(new Claim[] {
                        new Claim("UserID", user.Id.ToString())
                    }),
                    Expires            = DateTime.UtcNow.AddDays(1),
                    SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_appSetting.JWT_Secret)), SecurityAlgorithms.HmacSha256Signature)
                };
                var tokenHandler = new JwtSecurityTokenHandler();
                var security     = tokenHandler.CreateToken(tokenDescriptor);
                var token        = tokenHandler.WriteToken(security);
                return(Ok(new { token }));
            }
            else
            {
                return(BadRequest(new { message = "userName or Password is correct" }));
            }
        }
 public ActionResult Login(LogingModel u)
 {        
     if((Session["LogedUserId"] == null))
     {   
         if (ModelState.IsValid) 
         {
             using (UserEntities dc = new UserEntities())
             {
                 u.password = HashPassword(u.password);
                 var v = dc.Users.Where(a => a.userName.Equals(u.userName) && a.password.Equals(u.password)).FirstOrDefault();
                 if (v != null)
                 {
                     Session["LogedUserID"] = v.id.ToString();
                     Session["LogedUsername"] = v.userName.ToString();
                     Session["LogedPassword"] = v.password.ToString();
                     return RedirectToAction("AfterLogin");
                 }
             }
         }
     }
     return View(u);
 }