따라서 익명 사용자에게만보고 인증 된 사용자로 리디렉션되도록하려는 페이지가 있습니다. 이 같은 :"역방향"권한이 부여 된 페이지가 로그인으로 리디렉션됩니다.
<location path="Login_ForgotUserID.aspx">
<system.web>
<authorization>
<allow users="?" />
<deny users="*" />
</authorization>
</system.web>
</location>
문제는 인증 된 사용자가 액세스하려고 할 때, 그것은 로그인 페이지로 리디렉션. 어떻게하면 더 논리적 인 곳으로 보낼 수 있습니까? obtw, .NET v2.0x에 국한되었습니다.
글쎄, web.config를 통해 이것을하는 요령은 SiteMap 컨트롤을 이용하는 것입니다. 예를 들어, 익명 사용자가이 페이지에 있고 Login (LoginStatus 컨트롤)을 클릭하면 페이지에 반환하려고 시도합니다. 그러나 시스템이 요청을 받으면 사용자는 자원을 볼 수있는 권한이 없으므로 로그인 페이지로 보내야합니다. 내가 필요한 것은 내가 리다이렉트하고있는 리소스를 테스트하여 사용자가 액세스 할 수 있는지, 그리고 다르게 처리하지 않는지를 확인하는 방법이다. –
좋아요, 작동하는 방법은 다음과 같습니다 : - SiteMap에는 사용자가 갈 수있는 링크 목록이 있습니다. 이 목록은 web.config에 설정된 사용 권한에 의해 삭제됩니다. - 익명에서 인증까지 일반적인 흐름입니다. web.config에서이 작업은 "거부"로 수행됩니다. 그런 다음 "허용 *"이 인증되지 않은 사용자를 차단합니다. - 사용자가 액세스 권한이없는 페이지로 이동하려고하면 사이트에서 해당 페이지를 로그인 페이지로 리디렉션합니다. 그래서 문제는 ASP에서 "권한이 없으면 로그인 페이지로 가야합니다"라고 가정합니다. 모든 경우에 항상 사실 인 것은 아닙니다. 나는 그 주위에 방법이 필요해. –
보안 트리밍은이 시나리오 하에서도 메뉴 링크를 숨 깁니다. 따라서 URL에 직접 액세스 할 수 있습니다. 맞습니까? – Greg