2016-06-05 2 views
3

내 웹 API의 일부 동작 전에 뭔가를하고 싶습니다. 오류를 던지는 것처럼 ...웹 API 2에서 조치를 취하기 전에 수행하십시오.

public class OnlyAuthorized : ActionFilterAttribute 
{ 
    public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) 
    { 
     if (!IsValidAuthorization(actionExecutedContext.Request.Headers.Authorization?.Parameter)) 
     { 
      throw new HttpResponseException(HttpStatusCode.Unauthorized); 
     } 

     actionExecutedContext.Response?.Headers.Add("Access-Control-Allow-Origin", "*"); 
     base.OnActionExecuted(actionExecutedContext); 
    } 

    public bool IsValidAuthorization(string token) 
    { 
     return token != null; 
    } 
} 

그러나 이전의 동작 대신 실행 된 것입니다. 때때로 액션 논리는 때때로 도달되지만, 요청은 액션을 실행할 권한이 없습니다.

어떻게하면됩니까?

속성을 사용하여이 작업을 수행 할 수없는 경우 모든 POST 요청을 가로 챌 수있는 솔루션을 처리 할 수 ​​있다고 생각합니다.

답변

관련 문제