В Visual Studio откройте меню "Файл" и выберите "Создать", "Веб-сайт". Выберите пункт "Служба WCF с поддержкой утверждений".
В файле web.config можно заметить ряд отличий от файла web.config для типичной службы WCF.
- В элемент
assemblies
добавлена сборка WIF:
Копировать код <add assembly="Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
- В элемент
services
добавлена новая служба:
Копировать код <service name="ClaimsAwareService1.Service" behaviorConfiguration="ClaimsAwareService1.ServiceBehavior">
- В элемент
services
также добавлена новая конечная точка:
Копировать код <endpoint address="" binding="wsHttpBinding" contract="ClaimsAwareService1.IService">
- В элемент
serviceBehavior
добавлена новая реакция службы на события:
Копировать код <behaviors> <serviceBehaviors> <behavior name="ClaimsAwareService1.ServiceBehavior" > <!-- Расширение реакции на событие, добавляющее в службу поддержку утверждений --> <federatedServiceHostConfiguration/> <!-- Во избежание раскрытия метаданных перед развертыванием присвойте следующему параметру значение false и удалите вышеуказанную конечную точку метаданных --> <serviceMetadata httpGetEnabled="true"/> <!-- Чтобы получать сведения об исключениях при сбоях во время отладки, присвойте следующему параметру значение true. Перед развертыванием замените значение на false, чтобы избежать раскрытия сведений об исключениях --> <serviceDebug includeExceptionDetailInFaults="false"/> </behavior> </serviceBehaviors> </behaviors>
- Наконец, в элемент
system.serviceModel
был добавлен элементextensions
:
Копировать код <extensions> <behaviorExtensions> <!-- Это расширение обеспечивает поддержку утверждений узлом службы --> <add name="federatedServiceHostConfiguration" type="Microsoft.IdentityModel.Configuration.ConfigureServiceHostBehaviorExtensionElement, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </behaviorExtensions> </extensions>
Теперь можно воспользоваться программой FedUtil для доступа к утверждениям текущего пользователя через объект IClaimsPrincipal. Дополнительные сведения см. в разделе Инструкции: создание приложения проверяющей стороны WCF.