2011-10-23 3 views
1

필요합니다. Asp.Net 4.0 응용 프로그램에서 일부 리소스에 대한 액세스를 거부하고 싶습니다. 내가 도달하고자하는 목표는 다음과 같습니다.Asp.Net 응용 프로그램에서 일부 페이지에 대한 액세스를 거부하는 방법

1) 내 애플리케이션에서 문서를 가져 오려고하는 사용자 (예 : 내 애플리케이션의 txt 파일)를 생각해보십시오.

2) 사용자가 내 웹 사이트 및 리소스의 URL을 입력하면 (예 : www.mysite.com/Folder1/myfile.txt) 내 애플리케이션에서 해당 파일을 돌려 보내서는 안됩니다.

이 작업을 수행하는 방법 ???

감사합니다는

답변

2

위치 태그를 사용하여이 유형의 것을 제어 할 수 있습니다. 이 예에서

, 내가 CustomersFolder 디렉토리에 대한 고객과 관리자 액세스 제공 :
<location path="CustomersFolder"> 
    <system.web> 
     <authorization> 
      <allow roles="Customers, Admin"/> 
      <deny users="*"/> 
     </authorization> 
    </system.web> 
</location> 

그리고이 두 번째 블록

, 나는 그 폴더에 특정 파일에 대한 액세스를 제한을에 단지 관리자 :

<location path="CustomersFolder/SecureFile.aspx"> 
    <system.web> 
     <authorization> 
      <allow roles="Admin"/> 
      <deny users="*"/> 
     </authorization> 
    </system.web> 
</location> 

바라건대 그와 같은 것이 도움이 될 것입니다.

+0

역할은 어디에 정의되어 있습니까? – Andry

+0

나는 그것을 지금 시도하고있다 ... 그것을 보자. – Andry

1

당신은 페이지 또는 폴더에 대한 액세스를 제한 할 Web.config의에서 location element를 사용할 수 있습니다. 그러나 .NET 런타임 (예 : .txt 파일)에서 일반적으로 처리하지 않는 파일에서 작동하려면 IIS 또는 web.config에서도 해당 파일을 구성해야합니다.

또 다른 옵션은 중요한 파일을 App_Data 폴더에 저장하고 사용 권한을 확인하는 특수 페이지 또는 HttpHandler를 통해 파일을 제공하는 것입니다.

+0

내 솔루션 인 것 같습니다. 그러나 두 가지 방법으로 설명해주십시오. 감사합니다. – Andry

관련 문제