2013-07-11 4 views
0

로그인 폼을 만들었으며 로그인에 성공하면 관리자 패널로 사용자를 리디렉션하려고합니다. ASP.Net에서 Response.Redirect()를 사용하는 것처럼 PHP를 리디렉션하는 데 사용되지만 로그인 폼에는 DestinationPageUrl 속성이 있습니다. 로그인이 성공하면 어떻게해야합니까? MySQL을 사용하고 있습니다.DestinationPageUrl을 사용하여 ASP.Net 로그인 리디렉션

 protected void loginform_Authenticate(object sender, AuthenticateEventArgs e) 
    { 
     string username = loginform.UserName.ToString(); 
     string password = loginform.Password.ToString(); 
     List<string> errors = new List<string>(); 
     Regex rg = new Regex("^[a-z0-9_-]{3,16}$"); 

     if (String.IsNullOrWhiteSpace(username)) 
     { 
      errors.Add("Username is empty\n"); 
     } 
     else if (!rg.IsMatch(username)) 
     { 
      errors.Add("Username can only contain alphanumeric letters, - and _\n"); 
     } 

     if (String.IsNullOrWhiteSpace(password)) 
     { 
      errors.Add("Password is empty\n"); 
     } 

     string queryRows = "SELECT COUNT(*) FROM users WHERE username = ? AND password = ?"; 
     Database db = new Database(); 
     MySqlCommand cmd = new MySqlCommand(queryRows, db.getCon()); 

     cmd.Parameters.AddWithValue("", username); 
     cmd.Parameters.AddWithValue("", password); 
     db.Open(); 
     object result = cmd.ExecuteScalar(); 
     db.Close(); 

     int numRows = 0; 

     if (result != null) 
     { 
      numRows = Convert.ToInt32(result); 
     } 

     if (numRows > 0) 
     { 
      Response.Redirect("~/admin/Admin.aspx"); 

     } 
     else 
     { 
      loginform.FailureText = "<br /><br />User credentials are invalid."; 
     } 
    } 

답변

0
The DestinationPageUrl property specifies the page that is displayed when a 

로그인 시도가 성공 :

다음은 로그인 이벤트에 대한 내 코드입니다. 로그인 컨트롤의 기본 동작은 사용자를 참조 페이지 또는 Web.config 파일의 forms 요소의 defaultUrl 특성에 정의 된 페이지로 돌아가는 것입니다.

나타나서는 자세한 내용은이 링크를 통해 이동 :

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.login.destinationpageurl.aspx

관련 문제