【发布时间】:2016-04-11 14:37:36
【问题描述】:
所以我创建了一个名为 AdminPanel.aspx 的页面,我试图以只有特定用户组可以访问它的方式来保护它。
SQL 中的我的用户表有一个用户组列,其中普通用户用户组 = 1 和管理员用户组 = 2,这就是用户的分类方式。
我可以设置页面,但我不知道如何保护它免受特定用户组的访问 # 阻止访问它,事实上我如何防止未登录的用户访问它?
一旦用户登录,我就确保创建了一个会话。
我使用 3 层架构如下:
实体层、业务层和数据访问层,
目前我做的登录功能如下:
string mail = Request["EmailAddress"].ToString();
string password = Request["PassWord"].ToString();
User newuser = new User(mail, password);
if (UserBClass.verifyUser(newuser))
{
newuser = UserBClass.login(newuser);
Session["User_Session"] = newuser;
var my = (User)Session["User_Session"];
if (my.Usergroup == "1")
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "redirect member",
"alert('You Are Now Successfully Logged In!'); location.href='Default.aspx';",
true);
}
else if (my.Usergroup == "2")
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "redirect administrator",
"alert('Welcome Admin!'); location.href='AdminPanel.aspx';",
true);
}
}
else {
Page.ClientScript.RegisterStartupScript(this.GetType(), "redirect wrong credentials",
"alert('Incorrect Username Or Password'); location.href='Login.aspx';",
true);
}
}
我使用 if 条件检查用户组以区分用户类型(普通、管理员 .. 等)..
有什么想法吗?
【问题讨论】:
标签: c# html asp.net visual-studio