public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext) { // Return BadRequest if request is null if (WebOperationContext.Current == null) { throw new FaultException <UnAuthorisedException>(new UnAuthorisedException(), new FaultReason("User Unauthorised")); } // Get Token from header var token = WebOperationContext.Current.IncomingRequest.Headers["AUTH_TOKEN"]; // Validate the Token ITokenProcess tokenBuilder = BusinessFactory.GetTokenProcess(); if (!tokenBuilder.IsValid(token)) { throw new FaultException <UnAuthorisedException>(new UnAuthorisedException(), new FaultReason("User Unauthorised")); } UserDTO user = BusinessFactory.GetUserProcess().GetUser(token); if (user == null) { throw new FaultException <UnAuthorisedException>(new UnAuthorisedException(), new FaultReason("User Unauthorised")); } // Add User ids to the header so the service has them if needed WebOperationContext.Current.IncomingRequest.Headers.Add("UserName", user.UserName); WebOperationContext.Current.IncomingRequest.Headers.Add("UserId", user.UserId.ToString()); return(null); }
public AuthenticateResultDTO Authenticate(Credentials credentials) { AuthenticateResultDTO result = new AuthenticateResultDTO(); IAuthenticate authenticate = BusinessFactory.GetAuthentication(); if (authenticate.IsValid(credentials)) { result.IsAuthenticated = true; result.UserId = BusinessFactory.GetUserProcess().GetUser(credentials).UserId; result.Token = authenticate.BuildToken(credentials); } else { result.IsAuthenticated = false; result.ErrorMessage = "Invalid username or password."; } return(result); }
public void Register(UserDTO user) { BusinessFactory.GetUserProcess().Create(user); }
public List <TransactionDTO> GetTransactions(TransactionSearchCriteriaDTO searchCriteria) { return(BusinessFactory.GetUserProcess().GetTransactions(searchCriteria)); }
public UserValidationDTO ValidateUser(UserDTO user) { return(BusinessFactory.GetUserProcess().ValidateUser(user)); }