在我的网站上,我需要检查每个页面的权限,
我发现自己在每一页上重复相同的代码。

这是我的页面之一

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/

10-10 18:38