OAuth / 토큰 인증을 사용하여 요청을 인증하는 MVC 웹 API 사이트가 있습니다. 모든 관련 컨트롤러에 올바른 속성이 있으며 인증이 정상적으로 작동합니다.
문제는 모든 요청이 속성 범위에서 승인 될 수있는 것은 아니라는 것입니다. 일부 승인 검사는 컨트롤러 메소드에 의해 호출되는 코드에서 수행되어야합니다.이 경우 401 승인되지 않은 응답을 리턴하는 올바른 방법은 무엇입니까?
나는 시도 throw new HttpException(401, "Unauthorized access");
했지만 이것을 할 때 응답 상태 코드는 500이고 스택 추적도 얻습니다. 로깅 DelegatingHandler에서도 응답이 401이 아니라 500임을 알 수 있습니다.
HttpResponseException
과Unauthorized()
. '예상 된'오류에 예외를 사용하는 것은 약간의 안티 패턴이므로 호출이 이러한 실수를 할 것으로 예상되는 경우 반환Unauthorized()
이 올바른 호출 일 수 있습니다.HttpResponseException
정말로 예상치 못한 것을 위해 저장하십시오 .