我正在填充MVC3导航菜单,我想为每个SiteMap节点读取我的控制器定义的身份验证角色.....有没有办法在不使用Reflection的情况下这样做?
答案 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现在可以拥有此功能。