2014-11-25 7 views
3

MVC 및 WEB API를 모두 포함하는 ASP.NET 웹 응용 프로그램에서 작업하고 있습니다. 누구든지 Web API에서 ApiController.Unauthorized Method를 사용하는 방법에 대한 예제를 제공 할 수 있습니까? 어떤 매개 변수를이 메서드에 전달해야하는지 잘 모르겠습니다.WEB API 2.2 : ApiController Unauthorized Method

+0

을 사용하면 인증을 구현 하시겠습니까? – Sandeep

+0

안녕 Sandeep. 예, 인증을 구현하고 싶지만 맞춤 인증 필터를 작성하고 싶지는 않습니다. – Dean

+0

인증을 위해 메시지 처리기를 만들 수 있습니다. http://www.c-sharpcorner.com/UploadFile/dacca2/basic-authentication-in-web-api-based-on-user-role/ – Sandeep

답변

3

컨트롤러 작업 메서드가 IHttpActionResult 인 경우 반환 유형으로이 메서드를 사용할 수 있습니다.

return Unauthorized(); 

또한 권한 부여 ProxyAuthorization, WWW-Authneticate 및 프록시 인증하고 헤더 값의 인증 정보를 나타내는 방법이 AuthenticationHeaderValue 파라미터로서 전달할 수있다.

조치 방법이 IHttpActionResult을 반환하지 않으면 컨트롤러 조치로 어디서나 HttpResponseException을 던질 수 있습니다.

throw new HttpResponseException(HttpStatusCode.Unauthorized); 

사용자 정의 메시지를 전달하려는 경우

var msg = new HttpResponseMessage(HttpStatusCode.Unauthorized) 
{ 
    ReasonPhrase = "Your message!" 
}; 
throw new HttpResponseException(msg);