Практическое руководство. Включение службы роли WCF
Обновлен: Ноябрь 2007
В этом разделе показано, как настроить службу роли ASP.NET на веб-сервере для обеспечения ее доступности для клиентов, использующих Windows Communication Foundation (WCF).
Примечание. |
---|
Если имя роли может быть использовано пользователем-злоумышленником для доступа к конфиденциальным данным или если имя роли хранится в постоянном файле Cookie, осуществляйте доступ к службе роли с помощью протокола SSL (с использованием HTTPS). Дополнительные сведения о том, как настраивать SSL, см. в разделах Configuring Secure Sockets Layer (IIS 6.0 Operations Guide) и Configuring Secure Sockets Layer in IIS 7.0 на веб-узле корпорации Майкрософт. |
Настройка службы роли ASP.NET в качестве службы WCF
Если веб-приложение ASP.NET еще не создано, то его необходимо создать.
Включите в веб-приложении проверку подлинности в формах. Дополнительные сведения см. в разделе Настройка приложения ASP.NET для использования членства.
Включите роли в веб-приложении. Дополнительные сведения см. в разделе Основные сведения об управлении ролями.
Обеспечьте пользователям возможность входа в веб-приложение.
При извлечении ролей через службу роли WCF можно также осуществлять вход пользователей через службу проверки подлинности WCF. Дополнительные сведения о настройке службы проверки подлинности WCF см. в разделе Практическое руководство. Включение службы проверки подлинности WCF.
Добавьте файл службы (SVC) в веб-узел, содержащий следующую директиву, для создания ссылки на класс RoleService:
<%@ ServiceHost Language="VB" Service="System.Web.ApplicationServices.RoleService" Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %> <%@ ServiceHost Language="C#" Service="System.Web.ApplicationServices.RoleService" Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %>
Сохраните SVC-файл и закройте его.
Введите следующие параметры конфигурации в файл Web.config для настройки службы и обязательного использования протокола SSL:
Включите службу роли в элементе roleService.
Определите контракт конечной точки в элементе services и задайте поведение службы в элементе behaviors. Включите свойство bindingNamespace в контракт конечной точки для предотвращения исключений в некоторых средствах создания прокси. Дополнительные сведения о конечных точках WCF см. в разделе Конечные точки Windows Communication Foundation.
Необходимо настроить элемент serviceHostingEnvironment для совместимости с ASP.NET. Дополнительные сведения о размещении служб WCF см. в разделе Службы WCF и ASP.NET (WCF Services and ASP.NET).
Создайте в элементе bindings привязку, требующую использовать протокол SSL. Дополнительные сведения о безопасности транспортировки в WCF см. в разделе Безопасность транспортировки.
В следующем примере показан элемент system.serviceModel из файла Web.config, в котором используются параметры конфигурации, описанные в предыдущем списке.
<system.web.extensions> <scripting> <webServices> <roleService enabled="true"/> </webServices> </scripting> </system.web.extensions> <system.serviceModel> <services> <service name="System.Web.ApplicationServices.RoleService" behaviorConfiguration="ApplicationServiceTypeBehaviors"> <endpoint contract= "System.Web.ApplicationServices.RoleService" 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="ApplicationServiceTypeBehaviors"> <serviceMetadata httpGetEnabled="true"/> </behavior> </serviceBehaviors> </behaviors> <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> </system.serviceModel>
Безопасность
При работе с конфиденциальными данными пользователей, осуществляйте доступ к службам проверки подлинности с помощью протокола SSL (с использованием HTTPS). Дополнительные сведения о том, как настраивать SSL, см. в разделах Configuring Secure Sockets Layer (IIS 6.0 Operations Guide) и Configuring Secure Sockets Layer in IIS 7.0 на веб-узле корпорации Майкрософт.
См. также
Задачи
Пошаговое руководство. Использование служб приложений ASP.NET
Основные понятия
Общие сведения о службе ролей Windows Communication Foundation