private LoginResult <SysClientUser> SignIn(string username, string password, bool isrememberme) { string loginIp = CommonUtils.GetIP(); SysUserLoginHistory userLoginHistory = new SysUserLoginHistory(); userLoginHistory.Ip = loginIp; //userLoginHistory.Country = ipInfo.Country; //userLoginHistory.Province = ipInfo.Province; //userLoginHistory.City = ipInfo.City; userLoginHistory.LoginType = Enumeration.LoginType.Computer; var identity = new AspNetIdentiyAuthorizeRelay <SysClientUser>(CurrentDb); var result = identity.Login(username, password, isrememberme, userLoginHistory); if (result.User != null) { ILog log = LogManager.GetLogger(CommonSetting.LoggerLoginWeb); log.Info(FormatUtils.LoginInWeb(result.User.Id, result.User.UserName)); } return(result); }
public LoginResult SignIn(string username, string password, string loginIp, Enumeration.LoginType loginType) { DateTime timeNow = DateTime.Now; IpInfo ipInfo = new IpInfo(); SysUserLoginHistory loginHis = new SysUserLoginHistory(); loginHis.LoginTime = timeNow; loginHis.Ip = ipInfo.Ip; loginHis.Country = ipInfo.Country; loginHis.Province = ipInfo.Province; loginHis.City = ipInfo.City; loginHis.LoginType = loginType; var result = _authorizeRelay.SignIn(username, password, timeNow, loginIp); switch (result.ResultTip) { case Enumeration.LoginResultTip.UserNotExist: loginHis.Description = "登录失败"; loginHis.Result = Enumeration.LoginResult.Failure; break; case Enumeration.LoginResultTip.UserAccessFailedMaxCount: loginHis.Description = "登录失败,连续输入错误密码3次,锁定帐号30分钟"; loginHis.Result = Enumeration.LoginResult.Failure; break; case Enumeration.LoginResultTip.UserPasswordIncorrect: loginHis.Description = "登录失败,密码错误"; loginHis.Result = Enumeration.LoginResult.Failure; loginHis.UserId = result.User.Id; break; case Enumeration.LoginResultTip.UserDisabled: loginHis.Description = "登录失败,帐号被禁用"; loginHis.Result = Enumeration.LoginResult.Failure; loginHis.UserId = result.User.Id; break; case Enumeration.LoginResultTip.UserDeleted: loginHis.Description = "登录失败,帐号已删除"; loginHis.Result = Enumeration.LoginResult.Failure; loginHis.UserId = result.User.Id; break; case Enumeration.LoginResultTip.VerifyPass: loginHis.Description = "登录成功"; loginHis.Result = Enumeration.LoginResult.Success; loginHis.UserId = result.User.Id; break; } CurrentDb.SysUserLoginHistory.Add(loginHis); CurrentDb.SaveChanges(); return(result); }
public LoginResult <TUser> Login(string userName, string password, bool isPersistent, SysUserLoginHistory userLoginHistory) { SysUserLoginHistory loginHis = new SysUserLoginHistory(); userName = userName.Trim(); var user = _userManager.FindByName <TUser, int>(userName); if (user == null) { return(new LoginResult <TUser>(Enumeration.LoginResult.Failure, Enumeration.LoginResultTip.UserNotExist)); } var lastUserInfo = user; loginHis.UserId = user.Id; loginHis.LoginTime = DateTime.Now; loginHis.LoginType = userLoginHistory.LoginType; loginHis.Ip = userLoginHistory.Ip; loginHis.Country = userLoginHistory.Country; loginHis.Province = userLoginHistory.Province; loginHis.City = userLoginHistory.City; user = _userManager.Find <TUser, int>(userName, password); if (user == null) { loginHis.Description = "Login failed, password error"; loginHis.Result = Enumeration.LoginResult.Failure; _db.SysUserLoginHistory.Add(loginHis); _db.SaveChanges(); return(new LoginResult <TUser>(Enumeration.LoginResult.Failure, Enumeration.LoginResultTip.UserPasswordIncorrect, lastUserInfo)); } if (user.IsDisable) { loginHis.Description = "Login failed, the account is disabled "; loginHis.Result = Enumeration.LoginResult.Failure; _db.SysUserLoginHistory.Add(loginHis); _db.SaveChanges(); return(new LoginResult <TUser>(Enumeration.LoginResult.Failure, Enumeration.LoginResultTip.UserDisabled, lastUserInfo)); } if (user.IsDelete) { loginHis.Description = "Login failed, the account has been deleted "; loginHis.Result = Enumeration.LoginResult.Failure; _db.SysUserLoginHistory.Add(loginHis); _db.SaveChanges(); return(new LoginResult <TUser>(Enumeration.LoginResult.Failure, Enumeration.LoginResultTip.UserDeleted, lastUserInfo)); } loginHis.Description = "Login success "; loginHis.Result = Enumeration.LoginResult.Success; _db.SysUserLoginHistory.Add(loginHis); user.LastLoginTime = loginHis.LoginTime; user.LastLoginIp = loginHis.Ip; _db.SaveChanges(); AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie); var identity = _userManager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie); AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity); return(new LoginResult <TUser>(Enumeration.LoginResult.Success, Enumeration.LoginResultTip.VerifyPass, lastUserInfo)); }