繁体   English   中英

ASP.Net MVC网页-隐藏基于Active Directory角色的按钮

[英]ASP.Net MVC Web page - hiding buttons based on Active Directory role

我试图弄清楚如何在Razor / MVC网页上隐藏或显示按钮和其他项目。

我知道我可以使用Authorize属性“保护”操作,但是我想根据用户所在的Active Directory角色/组显示或隐藏网页上的某些按钮。

尝试这个

    if (User.IsInRole("Domain\\Group"))
    {
        <li >
     @Html.ActionLink("Only Admin", "ActionOnlyAdmin", "Admin", routeValues: new { @id =  id })
        </li>
    }

和控制器

    [Authorize(Roles = "Domain\\Group")]
    public ActionResult ActionOnlyAdmin(){}

我这样做的方法是向模型添加一个方法,例如CanUserAccess()。

然后在视图中,我喜欢:

@if (Model.CanUserAccess(HttpContext.Current.User.Identity.Name.Split('|')[0].ToString()))
{
  // display buttons or partial view containing buttons
}

然后,在模型中,您可以执行所需的任何操作以在CanUserAccess中返回true或false。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM