2014-10-13 5 views
3

У меня есть локальный проект WEB.API, который не проходит через локальный IIS, чтобы запустить проект, я использую F5 в Visual Studio 2013.Фидлер HTTP/1.1 401 Несанкционированное

Использование Фидлер, я получаю

HTTP/1.1 401 Unauthorized 

# Result Protocol Host URL Body Caching Content-Type Process Comments Custom 88 401 HTTP localhost:52787 /api/values 6,180 private text/html; charset=utf-8 fiddler:10724   

Я знаю, что я должен получить 200, но это не так. Где я должен проверить, что я делаю неправильно?

Вот скриншот из браузера. Я получаю это, когда я вернусь в Fiddler, чтобы увидеть результаты, я просто введите http://localhost:52787/api/helloapi в URL (в браузере) и нажмите клавишу ВВОД: enter image description here

И вот что я получаю, когда я иду через стельку вручную сочинял GET :

enter image description here

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

+0

Ваш API либо требует аутентификации, либо операция закодирована таким образом, что возвращает HTTPwebresponse 404. Вы не предоставили достаточную информацию для ответа. – Crowcoder

+0

yes У меня есть это перед контроллером api, и я добавил Users = мое имя там [Authorize (Users = "... мое имя пользователя ...")] Это все еще не работает. То, что я не знаю, это ... где он ищет этих пользователей? Где я могу проверить. У меня нет другой аутентификации, настроенной где угодно. –

+0

Это должны быть пользователи локального компьютера. Работает ли он из браузера вместо скрипача? – Crowcoder

ответ

7

Когда вы говорите «используя Скрипач», то, что точно Вы имеете в виду?

Если вы вручную сочиняя запрос с использованием Фиддлерз Composer, либо добавить Authorization Header себя, или нажмите Options вкладку композитора и проверьте Automatically Authenticate коробку.

+0

Обновлен мой исходный вопрос. Да, я использую композитор Фиддлера. У меня есть опция «Автоматически проверять подлинность», но все равно получается тот же результат. –

+0

Используйте функцию «Копировать заголовки» Fiddler, чтобы скопировать заголовки ответов HTTP на ответ 401, чтобы обновить свой вопрос. И чтобы быть понятным, вы видите * точно * один HTTP/401, а не два, когда вы нажимаете Execute? – EricLaw

1

У меня была такая же проблема. В моем случае это было вызвано предложением deny в файле web.config, которое заставило всех пользователей пройти аутентификацию. Это хорошо работает в браузере, потому что он обрабатывает аутентификацию за кулисами и отправляет соответствующее разрешение Cookie. В Fiddler это рукопожатие не состоится и, следовательно, 401. В среде разработки добавьте это в свой web.config, и он должен работать.

<system.web> 
     <authorization> 
      <allow users="?" /> 
     </authorization> 
</system.web> 
Смежные вопросы