0

기본 인증을 사용하는 WCF 서비스를 만들고 지금까지 서비스가 익명 인증을 원한다는 오류 메시지가 계속 나타납니다. 기본 인증을 사용하도록 web.config를 구성했습니다.WCF + 기본 인증 - 익명 인증 사용을 중단하지 않음

나는 몇 시간 동안 노력하여 내 문제에 대한 해결책을 찾지 못 했으므로 여기에 시도해 보았습니다. 나는 그것이 내가 바라보고있는 무엇인가 의심한다.

여기 내가하고있는 일이 있습니다. 웹 프로젝트를 만들고 wcf 서비스를 추가하고 다른 웹 프로젝트를 만든 다음 단일 .aspx 페이지를 추가하여 서비스를 테스트했습니다. 나는 변경하지 않았다 아무 것도 없음 기본 wcf 서비스 구성. IIS에 배포 할 수 있으며 브라우저 창을 열고 페이지로 이동하면 익명 인증을 사용하도록 설정하면 서비스가 제대로 작동합니다. 또한 테스트 페이지를 사용하여 문제없이 서비스에 액세스 할 수 있습니다.

그런 다음 기본 인증을 사용하도록 서비스를 변경하고 (서비스의 web.config는 아래 참조) 재배포합니다. Basic을 사용하도록 IIS의 인증을 변경하지 않았으므로 여전히 익명 인증을 사용하도록 설정되었습니다. 나는 브라우저와 서비스를 새로 고쳤다. 테스트 웹 페이지는 여전히 서비스에 액세스 할 수있었습니다.

그런 다음 IIS의 인증 구성표를 Basic을 사용하도록 변경하고 다른 모든 유형의 인증을 사용하지 않도록 설정했습니다. 서비스에 액세스하려고하면 "이 서비스의 보안 설정에 '익명'인증이 필요하지만이 서비스를 호스팅하는 IIS 응용 프로그램에는 사용할 수 없습니다."

다음은 내 서비스의 web.config입니다. :

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.serviceModel> 
     <behaviors> 
      <serviceBehaviors> 
       <behavior name=""> 
        <serviceMetadata httpGetEnabled="true" /> 
        <serviceDebug includeExceptionDetailInFaults="false" /> 
       </behavior> 
      </serviceBehaviors> 
     </behaviors> 
     <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 

     <bindings> 
     <wsHttpBinding> 
      <binding name="basicAuthBinding"> 
      <security mode="Transport"> 
       <transport clientCredentialType="Basic" /> 
      </security> 
      </binding> 
     </wsHttpBinding> 
     </bindings> 

     <services> 
     <service name="TestService"> 
      <endpoint address="http://localhost:7000/BA.svc" binding="wsHttpBinding" bindingConfiguration="basicAuthBinding" name="BasicEndpoint" /> 
     </service> 
     </services> 
    </system.serviceModel> 
</configuration> 

왜 이것이 작동하지 않는가?

답변