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));
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }