public IActionResult SignIn([FromForm] SignInUserInfo userInfo) { if (ModelState.IsValid) { UserInfo usr = _userApp.SignIn(userInfo); if (usr != null) { HttpContext.Session.Set("Neko_Asp_User", usr.ToBytes()); if (userInfo.RememberMe) { HttpContext.Response.Cookies.AddCookie("Neko_Asp_User", userInfo, DateTime.Now.AddDays(10)); } else { HttpContext.Response.Cookies.DeleteCookie("Neko_Asp_User"); } if (GlobalConfig.CacheCookies.ContainsKey("Neko_Asp_User")) { GlobalConfig.CacheCookies.Remove("Neko_Asp_User"); } GlobalConfig.CacheCookies.Add("Neko_Asp_User", usr); return(Redirect("/Exam/Home")); } ModelState.AddModelError("AccOrPwError", "用户名或密码错误!"); } return(View(userInfo)); }
public async Task <bool> ValidateUserAsync(SignInUserInfo user) { // context DynamoDBContext context = new DynamoDBContext(_dynamoDBClient); // conditions var hash = GenerateSaltedHash(Encoding.UTF8.GetBytes(user.Password), Encoding.UTF8.GetBytes(user.Username)); List <ScanCondition> conditions = new List <ScanCondition> { new ScanCondition("Username", ScanOperator.Equal, user.Username), new ScanCondition("Password", ScanOperator.Equal, Convert.ToBase64String(hash)) }; // scan if (user.ContainerUser) { List <ContainerUser> foundContainerUsers = await context.ScanAsync <ContainerUser>(conditions).GetRemainingAsync(); // dispose context context.Dispose(); return(foundContainerUsers.Any()); } else { List <DashboardUser> foundDashboardUsers = await context.ScanAsync <DashboardUser>(conditions).GetRemainingAsync(); // dispose context context.Dispose(); return(foundDashboardUsers.Any()); } }
public IActionResult SignIn() { SignInUserInfo userInfo = HttpContext.Request.Cookies.GetCookie <SignInUserInfo>("Neko_Asp_User"); if (userInfo != null) { return(SignIn(userInfo)); } return(View()); }
public UserInfo SignIn(SignInUserInfo userInfo) { DbModel.UserInfo usr = _repository.SignIn(userInfo.CreditId, userInfo.PasswordHash.EncryptMD5()); if (usr == null) { return(null); } UserInfo user = new UserInfo(); user.Id = usr.Id; user.WorkId = usr.WorkId; user.UserName = usr.UserName; user.Password = usr.Password; user.RoleId = usr.RoleId; user.Role = _roleApp.Load(user.RoleId); user.Remark = usr.Remark; return(user); }
public async Task <ActionResult <bool> > SignIn([FromBody] SignInUserInfo user) { return(await _dynamoDBService.ValidateUserAsync(user)); }