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

本文关键字:标记 授权 于授权 条件 mvc3 | 更新日期: 2023-09-27 18:02:09

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

由于我使用windows身份验证与AD,我希望能够做一些像authorizationattribute直接在标记,如:

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

我试过使用

@if(User.IsInRole(@"domain'Admin"))

但这也不起作用。谁能给我指点一下做这件事的最佳方法?

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

已配置RoleManager以支持您的AD角色吗?注意,这与身份验证是分开的。

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

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