2009-06-03 3 views
0

IIS에서 호스팅하고있는 WCF 웹 서비스가 있습니다 (실제로는 Visual Studio 웹 호스트 즉 Cassini에서 실행 중입니다).WCF 파일 사용 권한?

서비스에서 웹 디렉토리의 루트에 액세스해야하는 파일이 있는데 서비스에서 디렉토리에 액세스하는 사용자 ID를 파악하는 데 문제가 있습니다. ASPNET, NETWORK SERVICE 및 IUSR에 대한 허가를 받았지만 이들 중 어느 것도 작동하지 않는 것 같습니다.

IIS 내에서 호스팅 될 때 WCF 서비스가 실행되는 사용자는 누구인지 알고 있습니까?

MORE INFO :

는 사실, WCF 서비스가 (내 창문 계정) 나로 실행하지만, 어떤 이유, 그것은 여전히 ​​루트 디렉토리에있는 파일을 열 수 없습니다. "액세스가 거부되었습니다"와 함께 파일이 실패했습니다. "Everyone"에게 폴더에 대한 모든 권한을 부여 했으므로 문제가되지 않습니다.

답변

0

좋아 ... 문제를 파악했습니다. 열려고하는 파일이 읽기 전용으로 표시되어 .NET에서 쓰기 위해 열 수 없습니다. Passed FileAccess.Read를 File.Open() 메서드에 전달하면 열립니다.

WCF 자체와 관련이 없습니다.

0

카시니를 사용하여 yr serive를 실행하는 경우 해당 컴퓨터에 로그인 한 사용자가됩니다. 아마도 그 컴퓨터에 로그인하는 데 사용한 사용자 이름 일 것입니다. 해당 사용자에게 파일을 읽고 사용 권한을 부여하십시오.

IIS의 경우 응용 프로그램 구성에 따라 다릅니다. 모든 사용자 계정에서 응용 프로그램 풀을 만들고 해당 풀을 사용하여 yr 응용 프로그램을 실행시킬 수 있습니다. IIS의 기본 사용자는 NETWORK SERVICES입니다.

+0

흠 ... 두 사용자가 모두 디렉터리에 대한 사용 권한을 가지고 있지만 여전히 작동하지 않습니다. 어쩌면 내가 뭔가를 놓치고있어 ... –