Практическое руководство. Включение службы проверки подлинности WCF
Обновлен: Ноябрь 2007
В данном разделе демонстрируется настройка службы проверки подлинности ASP.NET на веб-сервере, позволяющая обеспечить клиентам доступ к ней в качестве службы Windows Communication Foundation (WCF). В этом разделе также демонстрируется настройка проверки подлинности ASP.NET с помощью форм.
Дополнительные сведения о настройке членства ASP.NET см. в разделе Настройка приложения ASP.NET для использования членства.
Включение службы проверки подлинности
Если веб-приложение ASP.NET еще не создано, его необходимо создать.
Добавьте к веб-узлу файл службы (SVC), содержащий следующую директиву, ссылающуюся на класс AuthenticationService, как показано в следующем примере:
<%@ ServiceHost Language="VB" Service="System.Web.ApplicationServices.AuthenticationService" Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %> <%@ ServiceHost Language="C#" Service="System.Web.ApplicationServices.AuthenticationService" Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %>
Введите в файл Web.config следующие параметры конфигурации для настройки службы и обязательного использования протокола SSL:
Включите службу проверки подлинности в элементе authenticationService.
Определите контракт конечной точки в элементе services и задайте поведение службы в элементе behaviors. Чтобы предотвратить возникновение исключений в некоторых средствах создания прокси, необходимо включить в контракт конечной точки свойство bindingNamespace, как показано в приведенном ниже примере. Дополнительные сведения о конечных точках WCF см. в разделе Конечные точки Windows Communication Foundation.
Настройте элемент serviceHostingEnvironment для обеспечения совместимости с ASP.NET. Дополнительные сведения о размещении служб WCF см. в разделе Службы WCF и ASP.NET.
Создайте в элементе bindings привязку, требующую использовать протокол SSL. Дополнительные сведения о безопасности транспортировки в WCF см. в разделе Безопасность транспортировки.
В следующем примере показан элемент system.serviceModel из файла Web.config, в котором используются параметры конфигурации, описанные в предыдущем списке.
<system.web.extensions> <scripting> <webServices> <authenticationService enabled="true" requireSSL = "true"/> </webServices> </scripting> </system.web.extensions> <system.serviceModel> <services> <service name="System.Web.ApplicationServices.AuthenticationService" behaviorConfiguration="AuthenticationServiceTypeBehaviors"> <endpoint contract= "System.Web.ApplicationServices.AuthenticationService" binding="basicHttpBinding" bindingConfiguration="userHttps" bindingNamespace="https://asp.net/ApplicationServices/v200"/> </service> </services> <bindings> <basicHttpBinding> <binding name="userHttps"> <security mode="Transport" /> </binding> </basicHttpBinding> </bindings> <behaviors> <serviceBehaviors> <behavior name="AuthenticationServiceTypeBehaviors"> <serviceMetadata httpGetEnabled="true"/> </behavior> </serviceBehaviors> </behaviors> <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> </system.serviceModel>
Настройка проверки подлинности с помощью форм
В файле Web.config настройте веб-приложение для использования проверки подлинности с помощью форм.
В следующем примере демонстрируется элемент authentication в файле Web.config, настроенный на использование проверки подлинности с помощью форм.
<authentication mode="Forms"> <forms cookieless="UseCookies" /> </authentication>
Для работы службы проверки подлинности необходимо включить файлы Cookie. Соответственно, в элементе authentication для атрибута cookieless следует задать значение "UseCookies". Дополнительные сведения см. в разделе Общие сведения о проверке подлинности форм ASP.NET.
Безопасность
При передаче конфиденциальных сведений, таких как учетные данные для проверки подлинности, доступ к службе проверки подлинности всегда должен осуществляться по протоколу SSL (с помощью протокола HTTPS). Дополнительные сведения о настройке протокола SSL см. в разделе Настройка SSL (Руководство пользователя IIS 6.0).
См. также
Задачи
Пошаговое руководство. Использование служб приложений ASP.NET
Основные понятия
Общие сведения о службе проверки подлинности Windows Communication Foundation