기본 인증을 사용하는 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>
왜 이것이 작동하지 않는가?