我正在尝试使用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;
}
}
}
答案 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;
}
}
}
}