我正在试图弄清楚如何在Razor / MVC网页上隐藏或显示按钮和其他项目。
我知道我可以使用Authorize属性“保护”操作,但我想根据用户所在的Active Directory角色/组显示或隐藏网页上的某些按钮。
答案 0 :(得分:2)
试试这个
if (User.IsInRole("Domain\\Group"))
{
<li >
@Html.ActionLink("Only Admin", "ActionOnlyAdmin", "Admin", routeValues: new { @id = id })
</li>
}
和控制器
[Authorize(Roles = "Domain\\Group")]
public ActionResult ActionOnlyAdmin(){}
答案 1 :(得分:0)
我这样做的方法是向模型添加一个方法,比如CanUserAccess()。
然后在视图中我喜欢:
@if (Model.CanUserAccess(HttpContext.Current.User.Identity.Name.Split('|')[0].ToString()))
{
// display buttons or partial view containing buttons
}
然后在模型中,您可以做任何您在CanUserAccess中返回true或false所需的操作。