2009-08-05 3 views
0

파일 (전자 상거래 다운로드 콘텐츠)을 제공하는 응용 프로그램에서 작업하고 있습니다. 콘텐츠는 서버의 Windows 폴더 공유에 저장되므로 응용 프로그램은 사용이 요청할 때 콘텐츠. 기본적으로 DownloadFile.aspx가 있습니까? fileId = XXXX웹 사이트를 통해 공유 할 때의 Windows 폴더 보안

어쨌든 나는 폴더에 보안 문제가 있습니다. 내가 페이지로 이동하면 IIS에서 로컬 컴퓨터에 대한 권한을 묻는 로그인/암호 프롬프트가 표시됩니다. 어떤 인터넷 사용자도 파일에 액세스 할 수 있어야합니다. (응용 프로그램이 파일을 액세스 할 수 있어야하는 사람의 보안을 처리합니다.)

나는 모든 사람에게 읽기를 추가하고 ASPNET 사용자에게 추가하려고했습니다. 불운. 나는 여전히 프롬프트를 얻는다.

제안 사항?

편집 : 약간의 선명도 추가. 이제 보안 팝업을 얻는 ASPX 파일은 File.Exists를 네트워크 공유의 UNC에서만 호출합니다. 이 특정 스크립트는 다운로드를 위해 파일을 제공하지 않으며 아직 실패합니다.

p.s. 이 파일을 제공하는 최선의 방법이 아닐 수도 있습니다. 저는 다른 웹 호스트로 사이트를 이전하는 고객을 위해 일하는 계약자입니다. 우리는 희망을 가지고 이것을 다시 작성하기 전에 작동시켜야합니다. 최소한의 영향이 중요합니다.

+0

다른 문제는 발견 한 사람과 관련이없는 것으로 나타났습니다. web.config에서 스크립트에 대한 사용자 지정 보안이 있지만 web.config가 잘못되었습니다. 양식 승인이 있지만 XML이 올바르지 않습니다 (필요한 모드 = "양식") 일단 적절하게 리디렉션되고 보안 설정 권한이있는 사용자가 다운로드하면 – JoshReedSchramm

답변

0

파일이 다른 공유 위치에 있으면 먼저 파일을 보내려면 Response.WriteFile() 메서드를 사용해야합니다.

그런 다음 사용 권한 관점에서 필요한 경우 해당 폴더에 대한 읽기/쓰기 권한이있는 ASPNET (또는 Windows 2003/Vista/Win 2008의 네트워크 서비스) 만 있으면됩니다.

+0

대답으로 플래그를 지정하려고합니다. 내가 ASPNET을 사용 중이 었는데 네트워크 서비스가 필요했습니다. 다른 문제가 있었지만 이것이 가장 도움이되었습니다. – JoshReedSchramm

0

"모두"그룹을 신중하게 사용하십시오. IIS의 가상 디렉터리의 보안 권한을 확인하십시오. 오직 "익명"이어야합니다. this을 시도한 다음 here이라는 설정을 따라 서버를 보호합니다.

0

콘텐츠에 직접 연결하는 경우 ASPNET 사용자는 참여하지 않습니다. 이 사용자는 IIS에서 ASPx 파일을 실행하는 데만 사용됩니다. 웹 사용자가 직접 파일에 액세스 할 수있게하려면 계정 "IUSR_ computerName이 파일에 액세스 할 수 있는지 확인하십시오.

관련 문제