2009-04-01 4 views
1

로그인 컨트롤이있는 페이지에 사용자 정의 컨트롤이 있습니다. 이것은 다른 사용자 정의 컨트롤의 표시를 제어합니다 (사용자가 로그인하지 않은 경우 로그인 컨트롤 사용자 정의 컨트롤을 가져옵니다). 사용자가 "로그인"버튼을 클릭 할 때 실행되는 인증 코드 (아래 참조)가 있습니다. 기본적으로 동일한 페이지에 다시 게시하여 로그인하고 다른 보호 된 사용자 정의 컨트롤을 볼 수있게하려고합니다. 이 코드는 작동하지 않습니다. 아마도 다른 페이지에서 계속 진행되고있는 작업이있을 수 있지만이 코드 자체가 작동해야하는 것처럼 보입니까?로그인 제어 - Response.Redirect

string userName = Membership.GetUserNameByEmail (Login1.UserName);

if (userName != null) 
    { 
     e.Authenticated = Membership.ValidateUser(userName, Login1.Password); 
    } 
    else 
    { 
     e.Authenticated = false; 
    } 

    if (e.Authenticated) 
    { 
     Login1.UserName = userName; 
     ImageButton loginButton = (ImageButton)Login1.FindControl("LoginButton"); 
     if (loginButton != null) 
     { 
      //loginButton.PostBackUrl = Request.Url.ToString();     
      Response.Redirect(Request.Url.ToString()); 
     } 
    } 
+0

"작동하지 않음"은 매우 모호합니다. * 무슨 일이 일어 났는지 말할 수 있습니까? –

답변

1

문제는 로그인 컨트롤 자체가 쿠키 (cookieless)의 쿠키 또는 암호화 된 인증 티켓을 설정하는 것입니다.

로그인 컨트롤에는 리디렉션되는 위치 (web.config의 우선 순위를 재정의하는)를 알 수있는 몇 가지 속성이 있다고 생각합니다.

+0

나는 그 자산에 대해 잊어 버렸어. 고마워 !! –

1

DestinationPageUrl은 (는) 속성입니다. soo Login1.DestinationPageUrl = "~/whatever.aspx";