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

本文关键字:角色 Directory 隐藏 按钮 Active 基于 Net MVC 网页 ASP | 更新日期: 2023-09-27 18:25:32

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

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

ASP.Net MVC网页-基于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。