Предоставление службы WCF с помощью проверки подлинности с помощью форм в IIS: как сделать метаданные (? Wsdl) общедоступными, но операции защищены - PullRequest
0 голосов
/ 16 августа 2010

У нас есть несколько служб WCF, которые мы размещаем через IIS.В общем, приложение использует проверку подлинности с помощью форм, и мы хотели бы продолжить делать ее доступной для клиентов веб-служб.У нас просто есть <authorization><deny users="?"> в нашем web.config и некоторые качества аутентификации / перенаправления, которые делают все.

Проблема в том, что мы хотим, чтобы пользователи имели доступ к метаданным для сервисов без аутентификации,Могут ли они посещать /services/v1/ArtifactService.svc?wsdl анонимно и все же требовать аутентификацию для /services/v1/ArtifactService.svc/rest/GetArtifacts?studyId=123?Если это так, я не могу определить правильное заклинание в конфигурации.

Лучшее, что я могу придумать, - это установить абсолютный URL-адрес в поведении службы метаданных, но тогда мне нужно исправить путь при установке.везде, где мы развертываем.(<serviceMetadata httpGetEnabled="true" httpGetUrl="http://some/absolute/path">).

Есть идеи?

1 Ответ

0 голосов
/ 17 августа 2010

Я думаю, что это невозможно. Если вам требуется авторизация для ресурса с помощью элементов allow и deny, вы не можете указать другой уровень авторизации на основе URL-запроса. Вы должны контролировать авторизацию в сервисе - PrincipalPermission.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...