1
我想弄清楚如何在Razor/MVC网页上隐藏或显示按钮和其他项目。ASP.Net MVC网页 - 基于Active Directory角色的隐藏按钮
我知道我能“保护”与授权行为属性,但我想基于Active Directory中的角色/组,一个用户在一个网页上显示或隐藏某些按钮。
我想弄清楚如何在Razor/MVC网页上隐藏或显示按钮和其他项目。ASP.Net MVC网页 - 基于Active Directory角色的隐藏按钮
我知道我能“保护”与授权行为属性,但我想基于Active Directory中的角色/组,一个用户在一个网页上显示或隐藏某些按钮。
方式我这样做是为模型添加一个方法,如CanUserAccess()。
然后在视图我不喜欢:
@if (Model.CanUserAccess(HttpContext.Current.User.Identity.Name.Split('|')[0].ToString()))
{
// display buttons or partial view containing buttons
}
然后在模型中,你可以做任何你需要做的,在CanUserAccess返回true或false。
试试这个
if (User.IsInRole("Domain\\Group"))
{
<li >
@Html.ActionLink("Only Admin", "ActionOnlyAdmin", "Admin", routeValues: new { @id = id })
</li>
}
和控制器
[Authorize(Roles = "Domain\\Group")]
public ActionResult ActionOnlyAdmin(){}
我AD的memberOf对我和看起来像测试用户:CN =管理员,CN =用户,DC = MYDOMAIN,DC =本地 只要使用上面的例子,我总是会得到错误的。 – 2014-10-03 18:45:28
我更新了答案,试一下 – 2014-10-03 19:19:02