Чтение, просмотр видео, поиск в Интернете, я очень озадачен тем, как подключить WCF к приложению ASP.NET, которое использует проверку подлинности на основе форм с MembershipProvider. Я видел предложение, в котором вы использовали специализированный сервисный хост, объясненное здесь (http://msdn.microsoft.com/en-us/library/bb398990.aspx][1]):
<%@ ServiceHost Language="C#"
Service="System.Web.ApplicationServices.AuthenticationService" %>
Я также видел реализацию, которая делает это в ServiceFactory:
ServiceHost serviceHost = new ServiceHost (typeof(MyServices), baseAddresses)
{
Credentials =
{
UserNameAuthentication =
{MembershipProvider = Membership.Provider}
},
Authorization =
{
PrincipalPermissionMode = PrincipalPermissionMode.UseAspNetRoles
}
};
serviceHost.Credentials.ServiceCertificate.SetCertificate(HttpContext.Current.Request.ServerVariables["HTTP_HOST"]);
Оба метода сбивают меня с толку. Для первого, где я могу указать свой конкретный контракт на обслуживание и что если у меня есть несколько услуг? Второй способ более понятен. Но в обоих случаях, что произойдет, если я попытаюсь получить доступ к защищенному каталогу проверки подлинности с помощью форм, например, mysite / admin / myservice.svc? Включается ли механизм безопасности как на уровне доступа к службе, так и на уровне каталога? Что если вы хотите использовать двух разных провайдеров членства, одного для доступа к файлу, а другого для действующей службы WCF? Это не было бы необычным сценарием.
Любая помощь была бы отличной, ошеломленной и растерянной.