동영상보기, 동영상보기, 인터넷 검색, MembershipProvider에서 양식 인증을 사용하는 ASP.NET 응용 프로그램과 WCF를 연결하는 방법에 대해 매우 혼란스러워합니다.WCF 및 ASP.NET MembershipProvider에 대한 혼동 양식 인증
<%@ ServiceHost Language="C#"
Service="System.Web.ApplicationServices.AuthenticationService" %>
: 나는 당신이 전문 서비스 호스트를 사용이 제안은, (http://msdn.microsoft.com/en-us/library/bb398990.aspx][1가]) 여기에서 설명하는 본 적이 또한 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 서비스에 대해 서로 다른 두 가지 멤버 자격 공급자를 사용하려면 어떻게해야합니까? 이것은 일반적인 시나리오가 아닙니다.
도움이 될 경우 대단하고 혼란 스럽습니다.
나는 "WCF의 아름다움"이라는 문구를 처음 본 것으로 믿는다. – kenwarner
나는 내가 준 예제에서 보안이 ServiceHost 레벨로 설정되었지만 귀하의 예에서는 바인딩 레벨 . 차이점이 뭐야? web.config에 관해서는, 특히 사용자에게 그렇게하도록 지시해야하는 경우 배포하기가 매우 어렵습니다. –
web.config와 ServiceHost 구성의 바인딩에는 차이점이 없습니다. 그것은 같은 것이다. web.config의 바인딩은 단일 끝점 (더 많은 범위 제어)이있는 서비스 호스트 대신 모든 끝점 (wsHttpBinding, basicHttpBinding 등)에 적용될 수 있으므로 더 융통성이 있습니다. – SliverNinja