如何根据角色使主页面内容可见?

时间:2011-09-14 19:59:26

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

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

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

现在,我希望只有用户是admin时才能看到这些loginStatus和LoginName控件。 (管理员将专门导航到登录页面,没有登录/退出链接,应为非管理员显示登录用户名)

我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:2)

有一个LoginView,它支持角色:

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

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

检查用户角色

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