如何检查asp.net中的usertype

时间:2018-05-18 20:35:19

标签: c# sql asp.net

我正在尝试使用asp.net创建一个网站。

我有不同用户的用户表,他们都有自己的用户类型,而且他们已经有了自己的用户类型。在用户中。 对于管理员而言,它是" A"和管理员一样。

我的网站也有标题部分。我希望我的代码能够读取当前激活会话的usertype,并将标题菜单分配给UserHome,如果它是" U" usertype,或Adminpanel,如果它" A"用户类型。

我该怎么做?我试过这种方式,但它没有用。

public void checkUserType()
{
    String CS = ConfigurationManager.ConnectionStrings["BoothsConnectionString1"].ConnectionString;
    using (SqlConnection con = new SqlConnection(CS))
    {
        SqlCommand cmd = new SqlCommand("select * from Users", con);
        con.Open();
        SqlDataAdapter sda = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        sda.Fill(dt);

        string Utype;
        Utype = dt.Rows[0][5].ToString().Trim();
        if (Utype == "U")
        {

            userhome.Visible = true;
            adminpanel.Visible = false;
        }
        if (Utype == "A")
        {
            adminpanel.Visible = true;
            userhome.Visible = false;
        }
    }
}

3 个答案:

答案 0 :(得分:0)

如果您正在使用MVC,则必须在控制器操作上查找[Authorize(Roles = Roles.User)],然后重定向到适当的视图。 您可以将角色作为模型。通过这种方式,您可以添加将来可能需要的任何新角色。

答案 1 :(得分:0)

  public void checkUserType()
{
    String CS = ConfigurationManager.ConnectionStrings["BoothsConnectionString1"].ConnectionString;
    using (SqlConnection con = new SqlConnection(CS))
    {
        SqlCommand cmd = new SqlCommand("select * from Users", con);
        con.Open();
        SqlDataAdapter sda = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        sda.Fill(dt);


        foreach (DataRow dr in dt.Rows)
        {
            if (dr["YourUserTypeColumnName"] == "U")
            {

                userhome.Visible = true;
                adminpanel.Visible = false;
            }
            if (dr["YourUserTypeColumnName"] == "A")
            {
                adminpanel.Visible = true;
                userhome.Visible = false;
            }
        }

    }
}

请查看此内容。

答案 2 :(得分:0)

public void checkUserType()

{

String CS = ConfigurationManager.ConnectionStrings["BoothsConnectionString1"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
    SqlCommand cmd = new SqlCommand("select * from Users where usertype"+Your usertype session+"", con);
    con.Open();
    SqlDataAdapter sda = new SqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    sda.Fill(dt);


    foreach (DataRow dr in dt.Rows)
    {
        if (dr["YourUserTypeColumnName"] == "U")
        {

            userhome.Visible = true;
            adminpanel.Visible = false;
        }
        if (dr["YourUserTypeColumnName"] == "A")
        {
            adminpanel.Visible = true;
            userhome.Visible = false;
        }
    }

}

}