Esempio n. 1
0
 public void HandleLoginQuery(LoginRequest request, Action <UserLoginQueryResult> OnSuccess, Action <string> OnFailure)
 {
     _userRepo.LoadUser(request.Username,
                        user => _security.ValidatePassword(request.Password, user.PasswordHash,
                                                           () =>
     {
         var(status, permissions) = _permissionsRepo.LoadPermissions(user.UserRole);
         if (status is Success)
         {
             OnSuccess(new UserLoginQueryResult(user, permissions.ToList()));
         }
         else
         {
             OnFailure("Could not load permissions");
         }
     },
                                                           OnFailure),
                        OnFailure);
 }
Esempio n. 2
0
        public (Status, UserLoginQueryResult) HandleLoginQuery(LoginRequest request)
        {
            var(status, user) = _userRepo.LoadUser(request.Username);
            if (status is Failure)
            {
                return(status, null);
            }

            status = _security.ValidatePassword(request.Password, user.PasswordHash);
            if (status is Failure)
            {
                return(status, null);
            }

            var(statusP, permissions) = _permissionsRepo.LoadPermissions(user.UserRole);
            if (statusP is Failure)
            {
                return(statusP, null);
            }

            return(new Success(), new UserLoginQueryResult(user, permissions.ToList()));
        }