public IActionResult Login(SettingsUsers pUser) { if (ModelState.IsValid) { var remoteIpAddress = HttpContext.Connection.RemoteIpAddress.ToString(); var appSession = new AppSession(); var message = userService.DoLogin(pUser, out appSession); if (message.MessageType.HasError()) { pUser.Message = message; } else { appSession.User.StationIp = remoteIpAddress; HttpContext.Session.Set(ApplicationConstant.GlobalSessionSession, appSession); MessageHelper.Success(pUser.Message, "Login Successful."); } } else { MessageHelper.Error(pUser.Message, "Please enter credential"); } return(Json(pUser)); }
public Message DoLogin(SettingsUsers pUser, out AppSession appSession) { appSession = new AppSession(); try { if (Connection.State != ConnectionState.Open) { Connection.Open(); } var transaction = new TransactionSession(); SecurityServicesSoapClient client = new SecurityServicesSoapClient(SecurityServicesSoapClient.EndpointConfiguration.SecurityServicesSoap); var result = client.AuthenticateUserAsync(pUser.user_id, pUser.Password, "P003", "", ""); var response = result.Result.Body.AuthenticateUserResult; if (response.StatusCode == "40999") { var user = userRepository.GetLoginInfo(pUser.user_id, new Encription().Encrypt(pUser.Password), pUser.StationIp, pUser.SessionId); if (user != null) { if (user.Active == "Y") { var screenAccessPermissions = userRepository.GetRoleWisePermission(user.roleid, "", user.user_id); var screens = userRepository.GetScreens(user.user_id); appSession = new AppSession { User = user, ScreenAccessPermissions = screenAccessPermissions, Screens = screens, TransactionSession = transaction }; MessageHelper.Success(Message, "Login Successfull."); } else { MessageHelper.Error(Message, "Your are not yet activated. Please contact administrator."); } } else { MessageHelper.Error(Message, "User name and password doesn't match. Please try with another."); } } else { MessageHelper.Error(Message, "User name and password doesn't match. Please try with another."); } } catch (Exception ex) { Logging.WriteToErrLog(appSession.User.StationIp, appSession.User.user_id, "ISettingsUsersService-DoLogin", ex.Message + "|" + ex.StackTrace.TrimStart()); MessageHelper.Error(Message, "System Error!!"); } finally { Connection.Close(); } return(Message); }
void RememberPassword() { Action Remember = () => { var us = users.Where(u => u.UserName == this.UserName); if (this.IsRemember) { if (us.Count() > 0) { SettingsUser user = us.FirstOrDefault(); if (user.Password == this.Password) { return; } users.Remove(user); users.Add(new SettingsUser(this.UserName, this.Password)); } else { users.Add(new SettingsUser(this.UserName, this.Password)); } } else if (us.Count() > 0) { users.Remove(us.FirstOrDefault()); } SettingsUsers urs = new SettingsUsers(users); Settings.Default.Users = urs; Settings.Default.Save(); }; Remember.BeginInvoke(ar => { Remember.EndInvoke(ar as IAsyncResult); }, Remember); }