Авторизация была отклонена для этого запроса - Новый проект веб-API
Я только что создал новый проект Web API (с использованием MVC) в visual studio 2015 и для целей тестирования я запустил этот проект, но оказался ниже ошибки.
После запуска проекта он вернет домашнюю страницу правильно, но когда я перешел к /api/values или/api/values /5, он дает мне ниже xml-сообщение.
<Error>
<Message>Authorization has been denied for this request.</Message>
</Error>
Кто-нибудь может помочь? Я новичок в веб-API.
Обратите внимание, что я не хочу удалять атрибут Authorize. Я хотел бы получить доступ к ресурсу только после авторизации. Поэтому я ищу, что не так.
Ответы
Ответ 1
В ValuesController есть атрибут Authorize
, если вы его удалите, тогда он будет работать как главная страница.
Атрибут Authorize
запрещает анонимным пользователям доступ к ValuesController
.
чтобы работать с этим атрибутом, вам нужно сначала зарегистрировать пользователя, а затем войти в систему, чтобы получить токен пользователя, тогда вы можете использовать токен, чтобы авторизовать себя и получить доступ.
На этой странице Individual-accounts-in-web-api объясняется все, что вам нужно
Ответ 2
Это происходит потому, что у вас есть Authorize атрибут на ValuesController
[Authorize]
public class ValuesController : ApiController
Просто удалите [Authorize]
и повторите попытку
ИЗМЕНИТЬ
Согласно вашему правлению: вы должны создать нового пользователя и войти в систему или использовать [AllowAnonymous]
, как упоминалось в @Marcus H. Подробнее о Identity