ASP.NET Web API: правильный способ возврата 401 / неавторизованного ответа

У меня есть веб-сайт MVC, который использует аутентификацию OAuth / токен для аутентификации запросов. Все соответствующие контроллеры имеют правильные атрибуты, и аутентификация работает нормально.

Проблема заключается в том, что не весь запрос может быть авторизован в области атрибута - некоторые проверки авторизации должны выполняться в коде, который вызывается методами контроллера - каков правильный способ возврата неавторизованного ответа 401 в этом случае?

я пыталсяthrow new HttpException(401, "Unauthorized access");, но когда я делаю это, код состояния ответа 500, и я также получаю трассировку стека. Даже в нашем журналировании DelegatingHandler мы видим, что ответ 500, а не 401.

Ответы на вопрос(4)

Ваш ответ на вопрос