【问题标题】:how to make masterPage contents visible based on role?如何根据角色使 masterPage 内容可见?
【发布时间】:2011-11-17 08:19:30
【问题描述】:

我正在使用 masterPage 开发一个应用程序。

我想将 loginStatus、LoginName 控件放入 masterPage。

现在,我希望这些 loginStatus 和 LoginName 控件仅在用户是管理员时才可见。 (管理员将专门导航到登录页面,没有登录/注销链接,非管理员应显示登录用户名)

我怎样才能做到这一点?

【问题讨论】:

  • if (admin) { myControl.Visible = true; }

标签: asp.net forms-authentication roles master-pages


【解决方案1】:

有一个LoginView,支持角色:

<asp:LoginView ID="LoginView1" runat="server">
    <RoleGroups>
        <asp:RoleGroup Roles="Admin">

        </asp:RoleGroup>
    </RoleGroups>
</asp:LoginView>

【讨论】:

    【解决方案2】:

    需要了解有关您的身份验证设置的更多信息,但如果您使用的是标准 ASP.NET 角色管理器,您应该能够执行以下操作:

    loginControl.Visible = Page.User.IsInRole("Admin"); //or whatever the role is
    

    【讨论】:

      【解决方案3】:

      检查用户角色

          if (Page.User.IsInRole("admin"))
          {
              loginStatus.Visible = true;
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-17
        • 2012-09-16
        • 1970-01-01
        • 2022-01-09
        • 2019-05-15
        • 1970-01-01
        • 2011-07-13
        • 2013-05-07
        相关资源
        最近更新 更多