asp.net mvc用户权限和视图

时间:2009-02-13 18:12:23

标签: asp.net-mvc security authentication permissions

在处理mvc中的视图的安全权限时,似乎有2个选项:

  1. 要么处理控制器中的权限控制逻辑,要么将用户引导到适当的视图......
  2. 或实现某种形式的安全感知HtmlHelper扩展,以呈现(或不呈现)适当的表单字段/数据
  3. 我在这里缺少任何其他选择吗?第一个似乎是荒谬的非DRY,第二个似乎与观点的定义相矛盾......

    所以我的问题是:有更好的方法吗?

1 个答案:

答案 0 :(得分:4)

我不同意(2)与观点的观点相矛盾的观点。根据从控制器接收的数据渲染或不渲染视图的特定组件似乎非常适合我。您是否选择要求数据在模型中,或者是否可以从其他服务器资源中使用数据取决于您想要的迂腐程度。我选择的是务实,只是使用提供的内容而不是制作新模型只是为了保存与角色相关的信息,所以在某些情况下(链接我的菜单控件)我只是在视图逻辑中进行角色检查。

重要的是要记住MVC是一种模式 - 而不是格言。如果模式似乎对你不利,可以稍微弯曲一下。同样,DRY是一项原则而非法律。如果最好重复一些代码来更好地完成目标,请继续并重复它。了解您正在为自己创建维护问题,但不要让严格遵守原则使您无法做出“正确的事情”。