2013-08-02 3 views
4

Windows 인증 및 ASP.NET 가장을 사용하여 IIS7을 통해 WCF 서비스에 사용자를 인증하고 있습니다.WCF 서비스로 사용자를 가장하는 방법은 무엇입니까?

로컬로 디버깅 할 때 System.Security.Principal.WindowsIdentity.GetCurrent(). Name을 내 Windows 자격 증명과 동일하게 볼 수 있습니다. 이 서비스를 서버에 배포 할 때 익명 인증을 사용하지 않으면 WCF가 실행되지 않습니다.

그래서, 어떻게 우리는이 WCF 서비스가 익명 인증 장애인있는 서버에서 실행합니까?

UPDATE 1 '(사람들은 바인딩'WebHttpBinding이라는 '에 구성된 익명을 허용하지 않는 호스트 ('IntegratedWindowsAuthentication ')에 구성

인증 제도 : 오류 메시지 모두 제안을 시도하는 후 '). SecurityMode가 전송 또는 TransportCredentialOnly로 설정되어 있는지 확인하십시오. 또한 이것은에 ClientCredentialType 속성을 갱신함으로써, 소자에 애플리케이션 구성 파일에서 통해 IIS 관리 툴을 통해이 애플리케이션 인증 께 ServiceHost.Authentication.AuthenticationSchemes 속성 방식을 변경함으로써 해결 될 수있다 바인딩, 또는 HttpTransportBindingElement의 AuthenticationScheme 속성을 조정하여.

업데이트 2 :

응용 프로그램 풀 : 인증은 다음과 같은 방법으로 설정 한 =

  • 신원가 NetworkService

웹 사이트 :

    (210)
  • 익명 인증 = 장애인
  • ASP.NET 인증 =
  • Windows 인증을 사용할 수

WCF 응용 프로그램을 사용 :

  • 익명 인증 = 장애인
  • ASP.NET 인증을 = 사용 가능
  • Windows 인증 = 사용 가능

답변

3
+0

가 감사를 사용하여 웹 응용 프로그램

  • 클릭 인증 아이콘 (IIS)를 선택합니다. 그러나 basicHttpBinding 대신 webHttpBinding을 사용해야합니다. 이는 서비스에 대한 기본 동작을 정의 할 수 있도록하기위한 것입니다. 우리가 현재 받고있는 오류 메시지를보기 위해 질문을보십시오. – aleafonso

  • 1

    하나 - 당신은 BasicHttpBinding을 사용하는 경우 이 - -

    <basicHttpBinding> 
        <binding> 
        <security mode="TransportCredentialOnly"> 
        <transport clientCredentialType="Windows" /> 
        </security> 
        </binding> 
    </basicHttpBinding> 
    

    읽기 다음 글 설정에서 다음 텍스트를 넣어 당신은 보안 모드 및 해당 전송 요소를 설정해야 ASP.net을 호스팅하는 서버에서 kerberos 위임을 활성화해야합니다. 이렇게하면 Windows 인증 토큰을 WCF 서비스 호스팅 서버에 전파 할 수 있습니다.

    는 다음 링크

    Impersonation and Delegation in WCF

    HTH

    Rauts

    +0

    많은 제안에 감사드립니다. 우리는 AD에서 위임을 위해 서버를 활성화하고 재시험했습니다. 안타깝게도 익명 인증을 사용하지 않고 ASP.NET 가장이 활성화 되어도 서비스가 여전히 작동하지 않습니다. 표시된 오류 메시지는 이전과 동일하게 유지됩니다. 다른 아이디어? – aleafonso

    +0

    WCF 서비스 및 ASP.Net 응용 프로그램에서 각각 어떤 인증을 사용할 수 있습니까? 나는 당신이 Windows 인증으로 둘 다 있다면, 그것은 작동해야한다고 생각합니다. – rauts

    +0

    질문을보십시오. 방금 사용중인 모든 인증 값으로 업데이트했습니다. 고마워요 – aleafonso

    0

    했다 동일한 문제를 살펴 있습니다. 나와 함께 그것은 Windows 인증이 응용 프로그램을 위해 IIS에서 활성화되지 않았기 때문입니다.

    1. 열기 IIS는
    2. Windows 인증
    관련 문제