Esempio n. 1
0
        private object OnChangePassword( object message )
        {
            var packet = ( ChangePasswordMessage )message;
            var ret = new OperationResult();

            if ( !this.CheckSession( packet.SessionKey ) )
            {
                ret.Value = false;
                return ret;
            }

            if ( !this.IsPasswordCorrect( packet.OldPassword ) )
            {
                ret.Value = false;
                return ret;
            }

            if ( !this.IsPasswordCorrect( packet.NewPassword ) )
            {
                ret.Value = false;
                return ret;
            }

            PasswordManager passwordManager = new PasswordManager();

            string oldPassword = HashManager.Sha256( packet.OldPassword );

            bool result = passwordManager.CheckPassword( oldPassword );

            if ( result )
            {
                string newPassword = HashManager.Sha256( packet.NewPassword );
                result = passwordManager.ChangePassword( oldPassword, newPassword );
            }

            ret.Value = result;
            return ret;
        }