Beispiel #1
0
        /// <summary>
        /// Add role
        /// </summary>
        /// <returns></returns>
        public static ResponseStatus Save(UserAccess inUser)
        {
            ResponseStatus response = new ResponseStatus();

            UserAccess user = new UserAccess();

            user.UserID   = inUser.UserID;
            user.UserName = inUser.UserName;
            user.Salt     = inUser.Salt;
            user.Password = inUser.Password;

            // We need to create a second occurrence.
            var userRead = new UserAccess();

            var readuser = userRead.Read(inUser.UserID);

            // record found
            if (readuser.ReturnCode == 0001 && readuser.ReasonCode == 0001)
            {
                response = user.UpdateUser();
            }

            // Not found
            if (readuser.ReturnCode == 0001 && readuser.ReasonCode == 0002)
            {
                response = user.AddUser();
            }

            if (readuser.ReturnCode < 0000)
            {
                response = readuser;
            }

            return(response);
        }
Beispiel #2
0
        public ResponseStatus AuthenticateUser(string userID, string inputPassword)
        {
            var UserDB   = new UserAccess();
            var readuser = UserDB.Read(userID);

            if (readuser.ReturnCode == 0001 && readuser.ReasonCode == 0001)
            {
                // Ok
            }
            if (readuser.ReturnCode == 0001 && readuser.ReasonCode == 0002)
            {
                return(new ResponseStatus(MessageType.Error)
                {
                    Message = "Credentials are not correct."
                });
            }
            if (readuser.ReturnCode <= 0000)
            {
                return(readuser);
            }


            if (UserDB.LogonAttempts > 4)
            {
                return(new ResponseStatus(MessageType.Error)
                {
                    Message = "User locked due to logon attempts. Please contact system support."
                });
            }

            if (string.IsNullOrWhiteSpace(inputPassword))
            {
                return(new ResponseStatus(MessageType.Error)
                {
                    Message = "Credentials are not correct. Spaces or Nulls."
                });
            }

            string passValue = EncryptX(UserDB.Salt, inputPassword);

            if (UserDB.Password == passValue)
            {
                //
                // Logon successfull
                //
                UpdateLogonAttempts("reset");
                return(new ResponseStatus());
            }

            UpdateLogonAttempts("add");

            return(new ResponseStatus(MessageType.Error)
            {
                Message = "Credentials are not correct. Spaces or Nulls."
            });
        }
Beispiel #3
0
        /// <summary>
        /// Save password
        /// </summary>
        /// <returns></returns>
        public static ResponseStatus SavePassword(UserAccess inUser)
        {
            ResponseStatus response = new ResponseStatus();

            UserAccess user = new UserAccess();

            user.UserID   = inUser.UserID;
            user.Salt     = inUser.Salt;
            user.Password = inUser.Password;

            // Check if user exists
            // We need to create a second occurrence.

            UserAccess userRead = new UserAccess();

            var readuser = userRead.Read(inUser.UserID);

            if (readuser.ReturnCode == 0001 && readuser.ReasonCode == 0001)
            {
                response = user.UpdatePassword();
                return(response);
            }

            if (readuser.ReturnCode == 0001 && readuser.ReasonCode == 0002)
            {
                response.ReturnCode = -0010;
                response.ReasonCode = 0001;
                response.Message    = "User not found.";
                response.UniqueCode = ResponseStatus.MessageCode.Error.FCMERR00009999;
                return(response);
            }

            if (readuser.ReturnCode < 0000)
            {
                response = readuser;
            }

            return(response);
        }