public async Task <string> Post([FromBody] UserInfo userInfo) { var name = userInfo.name; var password = userInfo.password; var thisUsers = await(from user in DbContext.Cards where user.name.Trim().Equals(name) select user).ToArrayAsync(); if (thisUsers.Length == 0) { return("no this user"); } if (thisUsers[0].active == 1) { return("already dead"); } var _password = thisUsers[0].password.Trim(); if (password.Equals(_password)) { var result = "cc98" + name + "CC98" + password; MD5 md5 = new MD5CryptoServiceProvider(); var output = BitConverter.ToString((md5.ComputeHash(Encoding.UTF8.GetBytes(result)))).Replace("-", ""); var newA = new Data.Authorization(name, output); DbContext.Authorizations.Add(newA); await DbContext.SaveChangesAsync(); return(output); } else { return("password error"); } }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var user = _db.Users.FirstOrDefault(x => x.Login == User.Login && x.Password == User.Password); if (user == null) { return(Page()); } var authorization = _db.Authorizations.FirstOrDefault(x => x.User.Id == user.Id); Guid guid; if (authorization == null) { guid = Guid.NewGuid(); await _db.Roles.ToListAsync(); await _db.RoleModules.ToListAsync(); await _db.Modules.ToListAsync(); var auth = new Data.Authorization() { DateTime = DateTime.Now, Expiration = new TimeSpan(0, 1, 0, 0), Token = guid, User = user }; await _db.Authorizations.AddAsync(auth); _cache.Authorizations.Add(auth); } else { guid = authorization.Token; authorization.DateTime = DateTime.Now; _db.Attach(authorization).State = EntityState.Modified; } await _db.SaveChangesAsync(); Response.Cookies.Append("hash", guid.ToString(), new CookieOptions() { Expires = DateTime.Now.AddDays(1) }); _cache.Clear(); return(RedirectToPage("/Index")); }