2011-03-11 8 views
0

두 개의 다른 로그인 페이지를 사용하려고하는 많은 게시물을 읽었습니다. 하나는 사용자 용이고 다른 하나는 관리자 용입니다. 제 질문은 매우 다릅니다. LoginView 및 LoginControl이 포함 된 Site.master 페이지가 있습니다. 그런 다음 Site.master에서 파생 된 세 개의 루트 수준 페이지 Default.aspx, About.aspx 및 Contact.aspx가 있습니다. 모든 세 페이지는 모든 사용자가 사용할 수 있도록 web.config에 설정됩니다. 그런 다음 인증 된 사용자 만 액세스 할 수있는 Member 폴더에 MemberPage가 있습니다. 내가 원하는 일은 Default, About 또는 Contact 페이지에서 로그인 한 다음 MemberPage로 이동하는 것입니다.다중 로그인 페이지가있는 폼 인증

양식 인증 방식이 설정되었으므로 하나의 loginUrl 및 하나의 defaultUrl 만 가질 수 있습니다.

<authentication mode="Forms"> <forms name="ishAuth" loginUrl="Default.aspx" timeout="50" defaultUrl="~/Member/MemberPage.aspx"></forms> </authentication>

/Member/MemberPage.aspx로 리디렉션 만 페이지가 Default.aspx를이다 : 내 Web.config의에서이 설정이있는 경우 어떤 의미합니다. 내 사용자가 사이트의 익명 섹션을 탐색하고 페이지에서 로그인 한 다음 MemberPage로 리디렉션 할 수 있기를 바랍니다. 지금 내가 About.aspx 페이지에 있고 로그인하면 나는 인증되지만 정보 페이지에 남아 있습니다.

요소의 속성 주위에는 방법이 있습니까? 요소의 기본 동작을 해제하고 내 고유의 사용자 정의 코드를 사용하여 리디렉션을 수행 할 수 있습니까?

답변

0

지금은 Visual Studio에 액세스 할 수 없지만 로그인 컨트롤의 "OnLoggedIn"이벤트를 사용하여 원하는 것을 할 수 있어야합니다. 해당 이벤트에 대한 짝수 처리기를 만들고 단지 Response.Redirect("~/Member/MemberPage.aspx")을 입력하면 사용자가 올바른 페이지로 리디렉션되어야합니다.

자세한 내용은 this page on the MSDN을 참조하십시오.

+0

로그인 제어 방법에 대해 읽은 것을 완전히 잊어 버렸습니다. 그러나 Response.Redirect ("~/Member/MemberPage.aspx") 및 FormsAuthentication.RedirectFromLoginPage ("~/Member/MemberPage.aspx", rememberMe.Checked)를 시도하고 둘 중 어느 것도 작동하지 않았습니다. – iJared

+0

사실 나는 그것을 뒤로 가져 간다. 그것은 효과가있었습니다. 내 조기 치료를 위해 Site.master aspx 페이지로 이동하여 OnLoggedIn = "OnLoggedIn"속성을 LoginControl에 배치하는 것을 잊어 버렸습니다. 나는 지금 엄청나게 일한다. 많은 감사 – iJared