2010-12-21 7 views
1

로그인해야 할 공용 웹 사이트를 구축하고 지금까지 asmx-services를 사용하고 있습니다. 이제 Wcf 데이터 서비스 대신 jQuery를 통해 서비스를 쿼리하려고합니다.Wcf 데이터 서비스 - 401 오류

그것은 모든 로컬 호스트에서 잘 작동하지만 난 내 웹 사이트를 게시하면 내가이 오류 :

401 - Unauthorized: Access is denied due to invalid credentials. 

내가 엔터티 데이터 모델을 사용하여 내 데이터베이스를 매핑 한 다음 난에 연결되어있는 WCF 데이터 서비스를 생성 내 데이터 모델은 다음과 같습니다.

public class MyService : DataService<MyEntities> 
{ 
    // This method is called only once to initialize service-wide policies. 
    public static void InitializeService(DataServiceConfiguration config) 
    { 

     config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2; 

     config.SetEntitySetAccessRule("*", EntitySetRights.AllRead); 

    } 
} 

여기서 MyEntities는 내 엔터티 데이터 모델을 데이터베이스에 매핑 할 때 지정됩니다.

 $.ajax({ 
      type: "GET", 
      url: "/OData/MyService.svc/Groups", 
      data: "{}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (data) { 
//some logic 
}}); 

을하지만 난 게시 된 버전을 사용할 때 나는 401-오류 :

내가 썼던 것처럼, 모두가 로컬 호스트에서 잘 작동, 나는이처럼 내 서비스를 조회 할 수 있습니다. (나는 브라우저에서 직접 쿼리를 작성할 때 동일한 오류가 발생합니다.)

나는 정말이 작업을 수행하는 데 도움이 필요하므로 Wcf 서비스를 사용하는 것은 매우 초록색이지만, 나는 운이 없다. 내 서비스 또는 web.config 또는 IIS에서 구성을 수행해야합니까?

임 사용하여 IIS 7.0 및 asp.net 4.0

+0

* 이제 OData * : ahem ....을 사용하여 Wcf 데이터 서비스를 사용하려고합니다. WCF 데이터 서비스는 OData의 Microsoft의 구체적인 ** 구현 **입니다. –

+0

내가 말했던 것처럼 이 분야에서는 매우 녹색입니다. – Andreas

답변

0

오류 (401)는 HTTP 오류입니다 - 액세스가 거부되었습니다.

이것은 서버 측 C# 코드에 도달하기 전에 IIS에서 제공됩니다.

인증 방법에 따라 수정 방법이 다릅니다. 그러나 기본 개념은 요청에 서버가 승인 할 수있는 충분한 인증 정보를 포함해야한다는 것입니다.

+0

이것은 올바른 방향으로 나를 가리켰다. 감사 – Andreas

0

마지막으로 작동하도록 설정 했으므로 지정한 사용자에게 디스크에 대한 읽기 권한이 없습니다. 때로는 어려워 보이지만 그렇게 단순 할 수 있습니다.

케이스가 닫혔습니다.