2010-02-22 5 views
0

하위 가상 디렉터리에서 webservice를 호출하여 ASP.NET 사이트를 실행하려고하면 다음 오류가 발생합니다.서버에 ASP.NET 사이트를 배포 할 때 웹 사이트를 호출 할 수 없지만 localhost에서 실행할 수 있습니다.

"요청이 HTTP 상태 401 실패했습니다. 무단"이것은 내가 쓴 코드입니다

:

Dim ws As Odyssey.SupportServices.SupportServices 
ws = New Odyssey.SupportServices.SupportServices 
ws.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials 

내 가상 디렉토리 구조는 다음과 같습니다

,369을

CSACCsupp - 부모 : 부모는 문제없이 webservice를 호출 할 수 있습니다.
Odyssey - 하위 : 하위는 위 오류와 같이 웹 서비스를 호출 할 수 없습니다.

저는 IIS 보안에 문제가 있다고 생각합니다. 따라서 IIS 보안을 살펴보고 부모와 하위를 비교했습니다. 그들은 동일합니다.

저는 IIS에서 보안을 설정하는 여러 가지 방법을 시도했지만 다음에해야할 일을 실제로 알지 못합니다.하지만 어둠 속에 있습니다.

이 문제에 대해 제안 해 주시겠습니까?

+1

web.config, 특히 인증/권한 부여 설정을 게시해야합니다. – Jacob

답변

0

앱이 동일한 AppPool에서 실행되고 있습니까? 그렇지 않은 경우 각 계정에 어떤 계정이 있습니까? web.config 파일은 동일합니까? 어쩌면 당신은 가장에 가장을 설정하고 다른 하나는 설정하지 않았을 수 있습니까?

+0

동일한 응용 프로그램 풀에서 실행됩니다. 그것은 시스템 ID를 사용하여, 나도 몰라. 하지만 문제는 서버에서 webservice를 호출하려고 할 때 시스템 ID를 웹 서비스에 보내지 않았을 때입니다. 반면에 localhost (내 PC)에서 웹 사이트를 호출하고 서버에서 webservice를 호출하면 내 ID가 webservice로 전송됩니다. 왜 다른지 설명해주십시오. 감사합니다. – Belovely

+0

아직 web.config를 게시하지 않았습니다. 앱이 가장을 사용하는 것을 의미하는 웹 서비스에 ID를 전송하는 경우 또는 appPool이 자격 증명을 사용하여 실행중인 경우. 서버에서이 방법을 서버에 설정하거나 web.config에서 가장을 설정하거나 기본 ASP.NET ID에 대한 사용 권한을 웹 서비스 서버에 추가하십시오. – Bryan

0

파일 ntfs 사용 권한을 확인하십시오. 파일을 복사 할 때 새로운 파일 대신 파일의 원래 사용 권한이 유지되는 경우가 있습니다.

아마도 파일 예 : web.config에 필요한 권한이 없을 수 있습니다.

+0

나는 허가를 확인했다, 동일한 설정이다. 부모 폴더에서 webservice를 호출 할 수 있다는 것은 매우 유괘합니다. 한편, 서브 폴더에서 webservice를 호출 할 수 없습니다. 동일한 응용 프로그램 풀을 사용하기 위해 부모 폴더와 하위 폴더 모두에 대해 웹 가상 디렉터리를 설정했습니다. 이 문제를 해결 하시겠습니까? 미리 감사드립니다. :) – Belovely

관련 문제