Asp.net 根据权限隐藏/取消隐藏站点导航和链接

Asp.net 根据权限隐藏/取消隐藏站点导航和链接,asp.net,Asp.net,我正在使用asp.net C开发一个应用程序,这次的设计理念是两个基于框架的母版页,比如左侧有导航,右侧有内容页 导航将具有如下菜单 系统参数 ........ 客户设置 ........ 货币设置 ........ 用户管理设置 ........ 组定义 交易 ..... 交易1 ..... 交易2 ..... 交易3 在“组管理”中,我希望分配表单的访问权限,并将用户放入组中。现在我的问题是如何根据登录用户的组权限隐藏/取消隐藏导航链接 我想提出如下的应用程序设计 请指导如何处理动态菜单和构

我正在使用asp.net C开发一个应用程序,这次的设计理念是两个基于框架的母版页,比如左侧有导航,右侧有内容页

导航将具有如下菜单

系统参数 ........ 客户设置 ........ 货币设置 ........ 用户管理设置 ........ 组定义

交易 ..... 交易1 ..... 交易2 ..... 交易3

在“组管理”中,我希望分配表单的访问权限,并将用户放入组中。现在我的问题是如何根据登录用户的组权限隐藏/取消隐藏导航链接

我想提出如下的应用程序设计


请指导如何处理动态菜单和构建这种类型的应用程序,并限制用户访问他/她没有权限的页面…internet上的大多数解决方案都基于web.config,其中定义了角色,但我希望将我的角色与组权限一起保留在数据库中。所以需要基于数据库的解决方案。

首先,用户登录后,可以将其授权级别存储在会话变量中。例如,SessionCurrentUserLevel=admin

那么

要隐藏导航项,可以编写代码来执行以下操作: 要防止访问页面,请在每页顶部放置代码:

if Session("CurrentUserLevel") <> "admin" Then Response.Redirect("hope.aspx")

注意:这是一个非常简单的静态/硬编码解决方案。通常,您应该使用更先进的技术来完成这些任务

您将通过母版页引用控件,然后将其可见性更改为当前用户 像这样

protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["id"]!=null)
        {
            liberarianDrop.SelectedValue = (Session["id"].ToString());
          ((LinkButton)this.Master.FindControl("LoginBtn")).Visible = false;}

    }
protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["id"]!=null)
        {
            liberarianDrop.SelectedValue = (Session["id"].ToString());
          ((LinkButton)this.Master.FindControl("LoginBtn")).Visible = false;}

    }