MVC3 - 读取控制器认证角色

时间:2011-07-06 19:02:30

标签: asp.net-mvc-3

我正在填充MVC3导航菜单,我想为每个SiteMap节点读取我的控制器定义的身份验证角色.....有没有办法在不使用Reflection的情况下这样做?

3 个答案:

答案 0 :(得分:1)

您可以使用MVC SiteMap Provider生成菜单。它内置了基于AuthrizeAttribute的安全修整功能。你可以轻松扩展它。

答案 1 :(得分:0)

你可以在你的视图中实际执行此操作(Razor sintax):

@if(User.IsInRole("role_name") {
    @* Show or not show the item depending on the user's role *@
}

如果您使用的是WebFormsViewEngine而不是RazorViewEngine,只需更改@的{​​{1}}。

顺便说一句,你的控制器也是如此:

<% %>

答案 2 :(得分:0)

我更有兴趣枚举控制器....而不是在视图中检查用户的角色。我希望避免使用CodePlex Sitemap提供商.....我目前正在使用Telerik MVC Extensions进行此菜单安全修整。

我希望MVC3现在可以拥有此功能。