2012-01-06 1 views
0

내 웹 서비스 응용 프로그램의 루트에 htmltxt 파일이 포함 된 디렉터리가 있습니다. 이 파일은 인증 된 사용자에게만 액세스해야합니다. 나는 어떻게 이것을 얻을 수 있습니까? ASP.Net Directory SecurityASP.Net 인증 된 사용자에게만 Acceess/Browse 권한 제공

해당 게시물에 Shark에 의해 제안 내가 HttpHandler을 구현 :

내 질문의 후속이다. 그것은 htmltxt 파일을 처리 할 수 ​​있지만 인증 된 사용자에게도이 파일들을 보여줄 수는 없습니다.


업데이트 : 나는 핸들러에 세션을 확인하여이 문제를 해결했다. 이 서버를 호스팅하는 동안 나는 또 다른 문제에 직면했습니다. 즉, 내 맞춤 핸들러가 호출되지 않았습니다. 나는에 그 문제에 대한 원인과 해결책을 가지고 : http://msdn.microsoft.com/en-us/library/bb515343.aspx

원인 :

기본적으로 IIS (인터넷 정보 서비스) 서비스에 ASP.NET에 특정 파일 형식에 대한 요청을 전달합니다. 파일 이름이 인 .aspx, asmx 및 .ashx와 같은 파일은 이미 ASP.NET ISAPI 확장 (Aspnet_isapi.dll)에 매핑됩니다.

솔루션 :

은 IIS가 ASP.NET에 다른 파일 확장명을 통과하도록하려면 IIS의 확장을 등록해야합니다.


전체 스토리 :http://www.naveenbhat.in/2012/06/directory-security-on-webservice-with.html

답변

1

당신이 ASP.Net 보안 (양식/Windows 인증)를 사용하는 경우, 당신은 단순히 Web.config를 설정하여 제어 할 수 있습니다. 좋아요 :

<system.web> 

    <authentication mode="Forms"> 
    </authentication> 

    <location path="directoryPath"> 
     <system.web> 
     <authorization> 
      <deny users="?"/> // this will deny access to anonymous users 
     </authorization> 
     </system.web> 
    </location> 

</system.web> 
+0

저는 이미 시도했지만 저에게 맞지 않습니다! 거기에 뭔가 관련이 있습니다 - 코드에서해야합니까? – NaveenBhat

+0

양식 인증을 시도하셨습니까? 인증 후 Page.User.Identity.IsAuthenticated를 검사하면 반환되는 내용은 무엇입니까? 아니면 아직 인증을 구성하지 않았습니까? – Chris

+0

지연에 대해 유감스럽게 생각합니다. 저는'windows '인증을 사용했고'Page.User.Identity.IsAuthenticated'는 제 경우에는 항상'true '를 반환했습니다. 나는 그것의 webservice 응용과 AFAIK'Forms' 인증이 좋은 옵션이 아니기 때문에'Forms'를 시도하지 않았습니다. – NaveenBhat

관련 문제