2014-05-14 98 views
0

对于特定用户对页面的访问限制存在疑问。我知道我可以在web.config中做到这一点,但是当我使用数据库身份验证或者它应该是另一种方式时,它是否适合我的情况?我怎么能做到这一点?等待你的反馈。限制某些用户对页面的访问

protected void btnLogin_Click(object sender, EventArgs e) 
    { 
     //Authenticate against the list stored in db 
     if (AuthenticateUser(txtLogin.Text, txtPassword.Text)) 
     { 
      //Create the authentication cookie and redirect the user to welcome page 
      FormsAuthentication.RedirectFromLoginPage(txtLogin.Text, chkBoxRememberMe.Checked); 
     } 
     else 
     { 
      lblMsg.Text = "Invalid Username and/or password"; 
     } 
    } 

    // TODO : zaimplementuj blokade konta po x blednych probach logowania: ASP.NET part 93 
    private bool AuthenticateUser(string username, string password) 
    { 
     var cs = ConfigurationManager.ConnectionStrings["StorminDB"].ConnectionString; 

      using (var con = new SqlConnection(cs)) 
      { 
       var cmd = new SqlCommand("spAuthenticateUser", con) {CommandType = CommandType.StoredProcedure}; 

       var paramUsername = new SqlParameter("@UserName", username); 
       var paramPassword = new SqlParameter("@Password", password); 

       cmd.Parameters.Add(paramUsername); 
       cmd.Parameters.Add(paramPassword); 

       con.Open(); 
       var returnCode = (int) cmd.ExecuteScalar(); 
       return returnCode == 1; 
      } 
    } 

回答

相关问题