4

내 WebApi 컨트롤러 서비스에 대해 AD 인증과 기본을 모두 제공 할 수 있는지 여부를 묻습니다. 모든 사내 (회사) 사용자가 원활한 사인온을 위해 AD 자격 증명 (창)으로 인증되도록하는 것이지만 모바일 및 외부 (비 회사) 사용자에 대해서는 기본 인증을 사용하는 것이 좋습니다. 나는 둘 중 하나를 사용하는 최선의 방법은 아니지만 둘 중 하나를 사용하는 것에 관한 정보를 찾고 있습니다. 내가하고 싶은 일은 광고에 외부 사용자를 추가하는 것입니다.MVC 4.0 WebApi 응용 프로그램 및 혼합 인증

답변

2

취할 수있는 방법은 사용자 지정 동작 필터를 만들고이를 전역으로 등록하는 것입니다. 당신은 아마 여기 System.Web.Http.Authorizeattribute를 사용해야합니다

public class MixedAuthenticationAttribute : System.Web.Http.Filters.ActionFilterAttribute 
{ 
    public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext  actionContext) 
    { 
      //basic auth header check 
      if (actionContext.Request.Headers.Authorization == null) 
      { 
       //no auth header run AD authentication process. 
      } else { 
       //basic auth authentication 
      } 

    } 
} 
+0

의 라인을 따라

뭔가 : http://msdn.microsoft.com/en-us/library/system.web.http .authorizeattribute (v = 1010) .aspx. 이런 종류의 접근법은 가끔 핸들러를 위임 할 때 찾을 수 있습니다. –