C# mvc3中的条件(基于授权的)标记

C# mvc3中的条件(基于授权的)标记,c#,asp.net,asp.net-mvc-3,authentication,C#,Asp.net,Asp.net Mvc 3,Authentication,我正在寻找一种使用授权有条件地显示某些标记的方法,而不仅仅是User.Identity.IsAuthenticated 由于我将windows身份验证与AD一起使用,因此我希望能够直接在标记中执行类似authorizationattribute的操作,如: @[Authorize {Roles = @"domain\Admin"}] <div> admin markup</div> 但这也不起作用。有人能给我一个最好的方法吗?您是否配置了RoleManager来支持您的

我正在寻找一种使用授权有条件地显示某些标记的方法,而不仅仅是User.Identity.IsAuthenticated

由于我将windows身份验证与AD一起使用,因此我希望能够直接在标记中执行类似authorizationattribute的操作,如:

@[Authorize {Roles = @"domain\Admin"}]
<div> admin markup</div>

但这也不起作用。有人能给我一个最好的方法吗?

您是否配置了RoleManager来支持您的广告角色?请注意,这与身份验证是分开的

在web.config中,您应该在
system.web
中有一个
rolemager
元素,该元素允许您配置AD角色的使用。具体来说,您需要启用管理器(
enabled=“true”
)并创建/指定提供程序


请注意,第一种方法(
AuthorizeAttribute
)只能应用于控制器和方法,而不能应用于标记中。第二种方法(
User.IsInRole()
)应该适用于您,但是,一旦一切配置正确。

是的,我知道authorized属性用于控制器/方法,我只是希望,有人可能知道一种在标记中获得相同内容的酷方法。我以为我已经在网络配置中正确设置了roleprovider,但我会进一步调查-谢谢!
@if(User.IsInRole(@"domain\Admin"))