//[Authorize] public IActionResult Login(EFLogin user) { string error = null; if (user.Username != null) { using (SQLContext DB = new SQLContext()) { var userinfo = DB.UserInfo.Where(a => (a.Email == user.Username || a.Username == user.Username || a.Phone == user.Username || a.Realname == user.Username) && (a.Status == 0)).FirstOrDefault(); if (userinfo == null) { error = "无此用户或者已删除"; } else if (userinfo != null & userinfo.Password != user.Password) { error = "密码错误"; } else { string token = DateTime.Now.ToString(); //登录成功后生成的token,用于验证登录有效性 var claims = new List <Claim>() { new Claim(ClaimTypes.Name, userinfo.Username) }; var userPrincipal = new ClaimsPrincipal(new ClaimsIdentity(claims, token)); HttpContext.SignInAsync("Cookie", userPrincipal, new Microsoft.AspNetCore.Authentication.AuthenticationProperties { ExpiresUtc = DateTime.UtcNow.AddHours(12), IsPersistent = true, AllowRefresh = false }); string jsonStr = JsonConvert.SerializeObject(userinfo, Formatting.Indented); HttpContext.Session.SetInt32("Id", userinfo.Id); HttpContext.Session.SetString("Name", userinfo.Username); HttpContext.Session.SetString("User", jsonStr); return(RedirectToAction("Index", "Home")); } }; } ViewData["error"] = error; return(View(user)); }
public static EFLogin CreateEFLogin(string username, int customerId, global::Microsoft.Test.OData.Services.TestServices.PublicProviderEFServiceReference.AstoriaDefaultServiceDBModel.EFCustomer eFCustomer) { EFLogin eFLogin = new EFLogin(); eFLogin.Username = username; eFLogin.CustomerId = customerId; if ((eFCustomer == null)) { throw new global::System.ArgumentNullException("eFCustomer"); } eFLogin.EFCustomer = eFCustomer; return eFLogin; }