在我的网站上,我需要检查每个页面的权限,
我发现自己在每一页上重复相同的代码。
这是我的页面之一
public partial class KitView : AmsBasePage
{
protected void Page_Load(object sender, EventArgs e)
{
IddUser user = new IddUser();
user = (IddUser)Session["user"];
bool isAdmin = user.roles.Where(IddRole => IddRole.R_ID.Equals(3)).First().IsInRole;
bool isIddTeam = user.roles.Where(IddRole => IddRole.R_ID.Equals(2)).First().IsInRole;
bool isProductionTeam = user.roles.Where(IddRole => IddRole.R_ID.Equals(1)).First().IsInRole;
if (isAdmin)
{
hypAddComponent.Visible = true;
hypAddComponent.NavigateUrl = "AddComponent.aspx?CKID=" + Request.QueryString["CKID"];
}
}
}
最佳做法是如何扮演角色:isAdmin,isIddTeam,isProductionTeam
在每个页面中,但不在每个页面代码中重复以下代码
IddUser user = new IddUser();
user = (IddUser)Session["user"];
bool isAdmin = user.roles.Where(IddRole => IddRole.R_ID.Equals(3)).First().IsInRole;
bool isIddTeam = user.roles.Where(IddRole => IddRole.R_ID.Equals(2)).First().IsInRole;
bool isProductionTeam = user.roles.Where(IddRole => IddRole.R_ID.Equals(1)).First().IsInRole;
最佳答案
您应该将授权代码放在母版页(ASP.NET Web窗体)或布局页(ASP.NET MVC)中。这样,您的授权逻辑将仅放置在一个位置,并在每一页上运行。
关于c# - 检查每一页的权限,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15218069/