登录凭据无法正常使用Admins&用户

时间:2014-12-16 11:39:36

标签: c# asp.net webforms

我为我的项目创建了一个自定义登录页面。我已经给出了如下角色

  • 0 for SuperAdmin
  • 1对于管理员
  • 2对于用户

问题在于,登录适用于Super Admin部分。但是,当我创建管理员和用户并尝试使用该凭据登录时,它会给出错误无效的用户名和&密码即可。我尝试检查和调试它,但不知道它为什么不起作用。

请参阅Button_click活动的代码供您参考: -

protected void btnSubmit_Click(object sender, EventArgs e)
{
        String LoginID = txtUsername.Text.Trim().ToLower();
        String LoginPassword = txtPassword.Text.Trim();

        SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultCSRConnection"].ConnectionString);
        conn.Open();
        SqlCommand cmd = new SqlCommand("select username,password,usertype from tbl_User where username=@username and password=@password and active=@active", conn);

        cmd.Parameters.AddWithValue("@username", txtUsername.Text);
        cmd.Parameters.AddWithValue("@password", txtPassword.Text);
        cmd.Parameters.AddWithValue("@active", 1);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);
        if (dt != null && dt.Rows.Count > 0)
        {
            if (dt.Rows[0]["usertype"].ToString() == "0") //SuperAdmin
            {
                Session["User"] = dt.Rows[0]["username"].ToString();
                Response.Redirect("csrdashboards.aspx");
            }
            else if (dt.Rows[0]["usertype"].ToString() == "1") // Admin
            {
                Session["User"] = dt.Rows[0]["username"].ToString();
                Response.Redirect("csrdashboards.aspx");
            }
            else if (dt.Rows[0]["usertype"].ToString() == "2") // User
            {
                Session["User"] = dt.Rows[0]["username"].ToString();
                Response.Redirect("csrdashboards.aspx");
            }
        }
        else
        {
            ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Invalid Username and Password')</script>");
        }
}

请帮忙。如果您还有其他需要,请告诉我。

1 个答案:

答案 0 :(得分:2)

在SQL Server管理工作室中使用相同的用户名和密码运行查询,您将获得结果,您将知道用户名和密码是否有问题。如果SQL中没有返回任何数据,那么您的用户名或密码应该不正确。您正在创建具有加密密码的用户并选择使用普通密码的用户。在选择用户之前加密密码。