public override void OnAuthorization(HttpActionContext actionContext) { Domain.Abstract.IUserRepository userRepository = actionContext.Request.GetDependencyScope() .GetService(typeof(Domain.Abstract.IUserRepository)) as Domain.Abstract.IUserRepository; if (actionContext.Request.Headers.Authorization == null) { actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Unauthorized); } else { string[] usernamePasswordArray = Helpers.SecurityHelper .GetDecodedUserNameAndPassordFromAuthorizationHeader(actionContext.Request.Headers.Authorization.Parameter); if (userRepository.ClientKeyIsValid(usernamePasswordArray[0], usernamePasswordArray[1])) { Thread.CurrentPrincipal = new GenericPrincipal(new GenericIdentity(usernamePasswordArray[0]), null); } else { actionContext.Response = new HttpResponseMessage(HttpStatusCode.Unauthorized) { Content = new StringContent("[{\"Error\":\"Unauthorized\"}]", Encoding.UTF8, "application/json"), ReasonPhrase = "Authentication failed" }; } } }
public UsersController(Domain.Abstract.IUserRepository userRepository) { _userRepository = userRepository; }
public UserController(Domain.Abstract.IUserRepository repo) { _userRepository = repo; }