Подтвердить что ты не робот

Авторизация была отклонена для этого запроса - Новый проект веб-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. Я хотел бы получить доступ к ресурсу только после авторизации. Поэтому я ищу, что не так.

4b9b3361

Ответ 1

В ValuesController есть атрибут Authorize, если вы его удалите, тогда он будет работать как главная страница.

Атрибут Authorize запрещает анонимным пользователям доступ к ValuesController.

чтобы работать с этим атрибутом, вам нужно сначала зарегистрировать пользователя, а затем войти в систему, чтобы получить токен пользователя, тогда вы можете использовать токен, чтобы авторизовать себя и получить доступ.

На этой странице Individual-accounts-in-web-api объясняется все, что вам нужно

Ответ 2

Это происходит потому, что у вас есть Authorize атрибут на ValuesController

[Authorize]
public class ValuesController : ApiController

Просто удалите [Authorize] и повторите попытку

ИЗМЕНИТЬ

Согласно вашему правлению: вы должны создать нового пользователя и войти в систему или использовать [AllowAnonymous], как упоминалось в @Marcus H. Подробнее о Identity