在MVC 2中使用AuthorizeAttribute或动态UI的操作 - 最佳实践?

时间:2010-09-15 23:25:20

标签: asp.net-mvc

我非常喜欢使用asp.net MVC 2 ...但有时候我觉得我正试图通过用棍子敲打它来找到潜伏在大海捞针中的针。

因此。我有一个对象列表。我有一个强类型视图,列出了这些对象。我的数据注释很可爱,而且一切都很好。

现在我想创建一个相同列表的管理视图。我:

  1. 创建一个名为AdminList的新视图,并将所有管理好东西放在那里(CRUD!),在同一个控制器的新操作中,用[Authorize]或

    装饰这两个动作
  2. 修改现有视图,以便动态检测当前用户的角色并适当启用/禁用管理功能,或

  3. 第三种选择?

  4. 我正在寻找最干净,最脆弱的方法。

    TIA!

1 个答案:

答案 0 :(得分:0)

我建议您在可重复使用的部分和主视图中外部化公共部分,具体取决于用户角色启用/禁用管理功能。此外,测试用户角色不是视图责任,这应该由控制器完成,并将此信息包含在视图模型中(如布尔属性ShouldDisplayAdminPanel),以便视图决定是否包含部分。 / p>