#asp.net-mvc #wcf #authorization
#asp.net-mvc #wcf #авторизация
Вопрос:
У меня есть веб-службы WCF, размещенные в ASP.NET применение. Для asp.net часть Я использую проверку подлинности Forms для веб-служб, которые я хочу использовать для проверки подлинности Windows. После настройки этого вызывающий сервис перенаправляется на страницу входа в веб-приложение. Я попытался исключить папку, в которой размещены веб-службы WCF, но не смог заставить ее работать.
Можно ли это настроить или я должен разместить свой WCF как отдельный сайт в iis?
Редактировать
После еще нескольких поисков в Google я обнаружил, что это возможно, но не так просто, как хотелось бы 🙂 Часть, которая мне особенно не нравится, заключается в том, что мое приложение должно иметь эту оболочку в GC, или приложение должно иметь разрешения на полное доверие: (
Я попробую и сообщу вам, как все прошло.
Ответ №1:
Правильно ли вы настроили свои привязки WCF в web.config?
Вот ссылка о том, как это настроить:
Комментарии:
1. Ну, мне нужно использовать аутентификацию обеих форм для приложения asp.mvc, а затем одновременно windows для ws. Мне нужно как-то разделить эти два, если это вообще возможно…
2. Я не уверен, что тогда это сработает. Проблема заключается в настройках аутентификации непосредственно в виртуальном каталоге IIS для веб-приложения. При использовании проверки подлинности Windows в WCF виртуальный каталог IIS должен включить проверку подлинности Windows и отключить анонимный доступ; но ASP.NET webforms, использующие проверку подлинности forms, требуют, чтобы в виртуальном каталоге IIS был включен «анонимный доступ». Два режима конфликтуют друг с другом. Я не уверен, как вы собираетесь разрешить этот конфликт.
3. Есть обходной путь, посмотрите на мой пост, я его отредактировал. Eaven Мне не нравится предложенное решение, я попробую его…
Ответ №2:
Есть ли у вас ASP.NET режим совместимости отключен для служб WCF?. Если она включена, ASP.NET сначала попытается аутентифицировать пользователя. В противном случае он должен перейти прямо в WCF.
Ответ №3:
Решение, которое я нашел в Google, работает, но я не собираюсь его использовать, потому что созданное мной приложение не должно иметь разрешений на полное доверие, и я также не хочу размещать оболочку в GAC. Итак, решение, к которому я пришел, — разделить приложение WS и asp.mvc на два сайта в iis.