2011-10-24 3 views
0

web.config 파일을 만들려고하는데 어떤 태그가 어떤 순서로 진행되는지 혼란스러워합니다. 테스터와 시사회 자 역할이 두 가지 있습니다. 여기 web.config 및 인증, 승인, 위치

은 내가 찾고 있어요 무엇 :

1)

2) 말을 위치 태그를 사용하여 URL을 "Login.aspx"로 양식위한 인증 태그를 사용하는 디렉토리/AppPages 및/AppServices는 테스터 만 액세스 할 수 있습니다 (즉, deny *,?, previewers 및 authenticated 테스터 만 허용, 다른 사용자는 거부)

3) 위치 태그를 사용하여/Scripts 및/Styles 디렉토리에 테스터 만 액세스 할 수 있다고 말하십시오. 및 시사회 및 기타 모든 사람을 거부하십시오.

4)/AppPages 또는/AppServices 페이지를 조사하려는 모든 미리보기가 사용자 정의 페이지로 다시 라우팅되도록하려면 어떻게해야합니까?

I 다음 web.config 파일이 있습니다

<system.web> 

    <connectionStrings> 
    ............... 
    </connectionStrings> 

    <roleManager enabled="true"/> 

    <authentication mode="Forms">  
    <forms loginUrl="Login.aspx" name=".ASPXFORMSAUTH"> 
    </forms> 
    </authentication> 

    <authorization> 
    <deny users="?" /> 
    </authorization> 

    <location path="AppPages"> //same for AppServices 
    <system.web> 
     <authorization> 
     <deny users="*" /> 
      <deny users="?"/> 
     <allow roles="tester" /> 
     <deny roles="previewers" /> 
     </authorization> 
    </system.web 
    </location> 

    <location path="Scripts"> //same for Styles 
    <system.web> 
     <authorization> 
      <allow roles="previewers" /> 
      <allow roles="tester" /> 
      <deny users="?"/> 
     </authorization> 
    </system.web> 
    </location> 

</system.web> 

은 내가 무엇을 찾고 있어요 것은 모든 사용자가 미리보기 페이지로 리디렉션이입니다 및 사용자가 테스터로 로그인 한 경우 프리 뷰어는 볼 수 없지만 앱 페이지로 이동할 수 있습니다.

의견을 보내 주셔서 감사합니다.

답변

2

다른 로그인 페이지 정보 ... 내가 아는 한 asp.net에서이를 수행하는 직접적인 간단한 방법은 없습니다.이를 달성하기 위해 취할 수있는 다양한 경로가 있습니다 :-) 다음은 매우 단순한 솔루션을 설명합니다. http://forums.asp.net/t/1348477.aspx

까지는 권한 부여 규칙에 따라 구분 기호가있는 switch 문과 비슷합니다. 사이트에 액세스 할 때 현재 사용자 상태에 적용되는 첫 번째 규칙이 적용된 후 중지됩니다. 예를 들어이

<deny users="*" /> 
<deny users="?"/> 
<allow roles="tester" /> 
<deny roles="previewers" /> 

아마

가야 그래서 ... 더 이상 처리
<deny users="?"/> 
<allow roles="tester" /> 
<deny users="*" /> 

그렇지 않으면 첫 번째 줄은 무엇이든 상관없이 모든 사람을 거부합니다.

http://msdn.microsoft.com/en-us/magazine/cc301390.aspx

+0

감사합니다. 위치 태그는 무엇입니까? 질서가 중요합니까? 올바른 순서로 놓았습니까? 사람들은 ... 그들이 구성 요소 <구성> ..... 의 자식으로 거기에 자신에 바로있는 기존 태그에 동봉하지 마십시오 – frenchie

+0

... 또는 특정 디렉토리에 web.config 파일을 넣고 인증 정보를 지정하면됩니다. < –