1

我想根据会员安全登录角色将菜单项动态添加到我的母版页。从我在母版页 html 中读到的 RenderAction 可能可以做到这一点。由于我正在摸索这个,我不确定它的外观以及我如何在控制器中检查我当前的角色。我正在考虑创建一个表并将允许的菜单项与角色关系相关联,以便我可以传递到母版页以呈现动态菜单项。

4

3 回答 3

6

在控制器中,我会创建一个 MenuModel 类或类似的类,即菜单的模型。这将是一个仅数据类。考虑到当前用户的访问权限,在控制器中创建并填充它。这将允许您编写单元测试以确保您的安全代码是正确的。

然后我会通过 ViewData 将其传递给视图。我会将它与知道如何基于 MenuModel 类呈现菜单的辅助方法结合起来。

于 2008-10-23T00:05:32.880 回答
1

如果这些“角色”是 ASP.NET Membership 角色,那么您可以使用带有 RoleGroup 标记的常规 LoginView 控件。我发现它在 MVC 中运行良好。如果“角色”是不同的(例如,您的模型中的某些东西),那么就按照 Haacked 所写的去做。

于 2008-10-23T12:22:36.963 回答
1

我不确定这是否是你要找的,但几周前我有一个同样的问题:

卡住创建“安全修剪”html.ActionLink 扩展方法

这允许我在母版页(或任何其他页面)中扩展菜单,通过 Authorize 属性控制对菜单项的访问:

这是我执行此操作的代码

于 2008-10-23T01:38:06.377 回答