Как проверить тип пользователя в asp.net - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь создать сайт с asp.net.

У меня есть таблица пользователей с разными пользователями, у каждого из которых есть свой собственный тип пользователя, по умолчанию это "U", как у пользователя.Для администраторов это «А», как и для администратора.

Мой сайт также имеет раздел заголовка.Я хочу, чтобы мой код прочитал, какой тип пользователя в данный момент имеет активную сессию, и назначил меню заголовка с UserHome, если это пользовательский тип "U", или 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 голосов
/ 19 мая 2018
  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;
            }
        }

    }
}

Пожалуйста, уточните это.

0 голосов
/ 21 мая 2018

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;
        }
    }

}

}

0 голосов
/ 19 мая 2018

Если вы используете MVC, вам нужно искать [Authorize (Roles = Roles.User)] в действии контроллера, а затем перенаправлять в соответствующий вид.Вы можете использовать роли в качестве модели. Таким образом, вы можете добавлять любые новые роли, которые вам могут понадобиться в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...