首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MVC Webapp隐藏/显示带有Azure AD角色的网站选项卡

MVC Webapp隐藏/显示带有Azure AD角色的网站选项卡
EN

Stack Overflow用户
提问于 2017-06-20 15:14:43
回答 1查看 137关注 0票数 0

我有一个MVC WebApp,在这里我成功地验证并将Azure广告角色拖到我的应用程序中。基于这个角色,我如何在我的_Layout.cshtml文件中显示或隐藏“home”等导航栏选项卡?

我可以使用[Authorize(Roles = "")]授权控制器中的页面,但我想隐藏在导航栏级别。我遗漏了哪一行代码才能产生这种动态?

下面是我希望实现的_Layout.cshtml文件中的代码:

代码语言:javascript
运行
复制
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            @Html.ActionLink("My Project", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
        </div>
        <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav">
                <li>@Html.ActionLink("Home", "Index", "Home")</li>
                <li>@Html.ActionLink("About", "About", "Home")</li>
                <li>@Html.ActionLink("Contact", "Contact", "Home")</li>
            </ul>
            @Html.Partial("_LoginPartial")
        </div>

提前感谢您的帮助!

EN

Stack Overflow用户

回答已采纳

发布于 2017-06-20 15:18:56

在MVC上,您有User对象,它向您提供有关日志用户的信息。只要使用User.IsInRole(roleName)方法,它就能工作。

示例:

代码语言:javascript
运行
复制
<div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>
        @Html.ActionLink("My Project", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
    </div>
    <div class="navbar-collapse collapse">
        <ul class="nav navbar-nav">
            <li>@Html.ActionLink("Home", "Index", "Home")</li>
            <li>@Html.ActionLink("About", "About", "Home")</li>
            @if(User.IsInRole("Admin"))
            {
                //Only the user with "Admin" role can see this
                <li>@Html.ActionLink("Contact", "Contact", "Home")</li>
            }
        </ul>
        @Html.Partial("_LoginPartial")
    </div>
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44656940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档