我有一个具有 3 种用户类型的 ASP.NET Web 应用程序:用户、成员、管理员。
现在我想为每个页面创建一个方法,我可以使用该方法检查用户的类型,如果不允许他访问此页面,则应将用户重定向到主页。
目前我在每个页面的 Page_Load 中都有这种代码:
if (Session["userID"] != null)
{
User user = userDALC.Read(Convert.ToInt32(Session["userID"]));
if (user.Type == 1)
{
Response.Redirect("~/Home.aspx");
}
}
else
{
Response.Redirect("~/Home.aspx");
}
此页面仅对成员和管理员 (2,3) 可见,如果用户 (1) 想要访问此页面,他将被重定向。
所以,很明显这段代码绝对不适合我使用,因为它经常重复。(在每一页上)
现在,我的想法是为每个页面添加一个属性“权限”,我可以在其中设置允许哪些用户类型访问该页面。而且我还需要一个方法来检查每个页面上的这个权限属性。
任何想法,我如何添加这样的属性以及可以添加此方法的任何想法?(也许是母版页?)