우리는 익명 사용자로부터 임의의 텍스트 묶음을받은 후 백엔드에서 일부 처리를 수행하는 WCF REST 웹 서비스를 개발 중입니다. 우리는 단지 우리가 (401) Unauthorized
을 얻을 기본 IIS 설정을 사용하는 경우WCF REST Service - 401 Unauthorized
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class MyRESTService : IMyRESTService
{
[WebInvoke(Method = "PUT", UriTemplate = "/MyRESTMethod?paramA={paramA}¶mB={paramB}")]
public Stream MyRESTMethod(string paramA, string paramB, Stream rawData)
{
//do some stuff...
}
}
:
예를 들어, 여기에 우리의 웹 서비스에서 하나의 방법입니다. 그러나 많은 시행 착오 끝에 우리는 우리의 서비스를 위해 실제 파일 인 .svc
에 'Everyone'에게 쓰기 액세스 권한을 부여함으로써 작동하도록 할 수 있다고 생각했습니다.
내 질문은 : 왜 IIS가 작동하려면 .svc
파일에 대한 쓰기 액세스 권한이 필요합니까? 더 나은 방법이 있습니까 아니면 내가 hackish (그리고 아마도 불안전 한) 해결 방법으로 붙어 있습니까?
WTF Microsoft?
아마 관련 :
- PUT and DELETE in RESTful WCF Service cause 401 Unauthorized error
- IIS7 Post/Put/Patch/Delete WCF oData - Authentication Failure 401.3
액세스 권한에
<system.web>
의 내부<authentication mode="None" />
를 넣어 고정 할 수 있습니다. 대신 인증 된 사용자는 이러한 권한을 가져야합니다. 익명 액세스의 경우 이는 IUSR입니다. – chiccodoro