2011-04-29 2 views
1

인트라넷 asp.net 응용 프로그램을 개발 중입니다. 우리는 Windows 인증을 사용하므로 인증 모드는 web.config의 windows로 설정됩니다.특정 ASP.NET 페이지에 대한 권한 부여 태그가있는 Windows 인증

특정 사용자 만 허용하도록 일부 페이지를 제한하고 싶습니다. 특정 사용자를 허용/거부하는 태그와 함께 태그를 사용하고 있습니다.

시나리오 :

사용자 1이 사용자 2는이 페이지에 액세스 할 수 있습니다

(이 페이지의 Web.config에서 인증 태그를 사용하여 액세스를 제한하고있다) "Reports.aspx"페이지에 액세스 할 수 없습니다. 둘 다 MYCOMPANY 도메인에 있습니다.

User1이이 페이지에 액세스하려고하면 사용자 2가 액세스 할 수 있으므로 "User2"의 세부 정보를 입력합니다. 이후 user1은 이제 user2의 세부 정보를 사용하여이 페이지에 액세스 할 수 있습니다.

이제 user1은 인증 태그에 의해 제한되지 않는 다른 페이지로 돌아갑니다. 그가 홈페이지에 간다고합니다. 이제 홈페이지에서 그는 Reports.aspx에 액세스하려고 시도합니다. 이 시점에서 논리적으로 말하자면 다시 로그인 자격 증명에 대한 프롬프트가 나타나야합니다. 하지만 팝업이 나타나지 않고 user1이 REports 페이지에 액세스 할 수 있습니다.

이 시나리오에서 HTTPContext.Current.User.Identity.Name을 사용하여 사용자 이름을 확인하기로 결정했습니다. user1이 두 번째로 (처음 로그인에 성공한 후) Reports.aspx에 액세스하려고하면이 시간에 페이지가로드 될 때 자격 증명이 User2로 표시되므로 브라우저에 자격 증명이 저장됩니다 (추측). 코드 뒤에.

이 문제를 방지하고이 페이지를 실행할 때마다 로그인 프롬프트를 강제로 표시하려면 어떻게해야합니까?

답변

0

내가 이것을 물었을 때 나는 n00b 였다고 생각한다.

이 다시 로그인 한 사용자를 위해 - 다시 로그인하면 원래 자격 증명이 더 이상 유지 관리되지 않으며 ASP.NET에서 이후에 User2로 인식합니다.

관련 문제