2011-05-07 4 views
0

로그인 내 페이지 후 내가 다른 링크 내 페이지를 열어 쿼리 문자열로 전달 된 링크인증 및 반환 URL

예 : 내가 URL에 쿼리 문자열을 제거하고 URL을 복사하여 새 브라우저를 열고 http://localhost/document/doc.aspx?aaa=ddd

및 붙여 넣기 url을 입력하면 Enter doc.aspx 페이지가 열리고 있습니다. 로그인 페이지를 이번에 리디렉션하고 싶습니다. 내 응용 프로그램에 숫자 페이지가 있는데 어떻게 할 수 있습니까? 양식 인증을 사용 중입니다

답변

0

이것은 ASP.Net 멤버 자격 공급자의 내장 동작으로, 보호 된 URL에 액세스하기 전에 인증을 확인합니다.

"다른 브라우저 열기"에 대해 말하면 동일한 브라우저의 새로운 인스턴스, 즉 Internet Explorer의 2 개의 창 또는 다른 브라우저의 인스턴스, 즉 Firefox의 창 1 개, 크롬? 동일한 브라우저를 사용 중이라면 여전히 인증 쿠키가 있고 인증을 받지만 다른 브라우저 (쿠키를 다른 쿠키와 공유하지 않음)를 열면 리디렉션 동작이 발생합니다. 다른 사람에게 귀하의 링크를 복사/붙여 넣기한다면, 현재 자신으로 로그인 한 경우를 제외하고는 인증 쿠키가 없기 때문에 리디렉션됩니다.

0

web.config에서 페이지/폴더가 잠겨 있는지 확인해야합니다.

이 요소를 사용하여 파일 (/document/doc.aspx) 또는 전체 폴더 (/ document /)에 대한 경로를 지정할 수 있습니다. 그런 다음 인증 된 사용자, 특정 역할, 특정 사용자 등과 같은 다양한 기준에 따라이를 잠글 수 있습니다.

당신의 Web.config를 살펴보고 </runtime></configuration> 사이에 넣어 (다음이 바닥에 내려 확인 :이 예에서 볼 수 있듯이 나는 전체를 잠근

</runtime> 
    <!-- access permissions --> 
    <location path="/document/"> 
    <system.web> 
     <authorization> 
     <deny users="?"/> 
     </authorization> 
    </system.web> 
    </location> 
</configuration> 

폴더 (path="/document/") (인증되지 않은 사용자) (<deny users="?"/>)