Asp.net mvc asp.net mvc用户权限和视图

Asp.net mvc asp.net mvc用户权限和视图,asp.net-mvc,security,authentication,permissions,Asp.net Mvc,Security,Authentication,Permissions,在mvc中处理视图的安全权限时,似乎有两种选择: 处理控制器中的权限控制逻辑并将用户引导到适当的视图。。。 或者实现某种形式的安全感知HtmlHelper扩展,这些扩展呈现或不呈现适当的表单字段/数据 我是否错过了其他选择?第一个似乎是荒谬的不干燥,第二个似乎与视图的定义相矛盾 所以我的问题是:有更好的方法吗?我不同意2与观点相矛盾的观点。根据从控制器接收的数据渲染或不渲染视图的特定组件对我来说似乎非常合适。我认为,您是选择要求数据在模型中,还是可以从其他服务器资源中使用它,取决于您希望变得多么

在mvc中处理视图的安全权限时,似乎有两种选择:

处理控制器中的权限控制逻辑并将用户引导到适当的视图。。。 或者实现某种形式的安全感知HtmlHelper扩展,这些扩展呈现或不呈现适当的表单字段/数据 我是否错过了其他选择?第一个似乎是荒谬的不干燥,第二个似乎与视图的定义相矛盾


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

我不同意2与观点相矛盾的观点。根据从控制器接收的数据渲染或不渲染视图的特定组件对我来说似乎非常合适。我认为,您是选择要求数据在模型中,还是可以从其他服务器资源中使用它,取决于您希望变得多么学究。我选择务实,简单地使用所提供的内容,而不是制造一个新的模型来保存角色相关的信息,因此在某些情况下,链接我的菜单控件,我只需在视图逻辑中执行角色检查


重要的是要记住,MVC是一种模式,而不是格言。如果这个模式对你不利,可以稍微弯曲一下。同样,DRY是一项原则,而不是一项法律。如果重复一点代码以更好地完成一个目的似乎是最好的,那么继续并重复它。要明白你是在为自己制造维护问题,但不要让严格遵守原则妨碍你做正确的事情。

我不同意2与视图相矛盾的观点。根据从控制器接收的数据渲染或不渲染视图的特定组件对我来说似乎非常合适。我认为,您是选择要求数据在模型中,还是可以从其他服务器资源中使用它,取决于您希望变得多么学究。我选择务实,简单地使用所提供的内容,而不是制造一个新的模型来保存角色相关的信息,因此在某些情况下,链接我的菜单控件,我只需在视图逻辑中执行角色检查


重要的是要记住,MVC是一种模式,而不是格言。如果这个模式对你不利,可以稍微弯曲一下。同样,DRY是一项原则,而不是一项法律。如果重复一点代码以更好地完成一个目的似乎是最好的,那么继续并重复它。了解您正在为自己制造维护问题,但是,不要让严格遵守原则妨碍你做正确的事情。

在我看来,你可能会使用其中一种/或两种方法……按照惯例选择1不是更好吗?这意味着对每个潜在的角色组合有一个单独的看法,这似乎太违反了DRY等待发生的原则。我更喜欢逐案处理,通常是2比1。我只能想到一个例子,我做了1。-澄清:我的意思是选择一个…不是字面意义上的选择数字1,我明白了,但我确实有两个例子——我的主菜单中的差异是由于角色造成的,而内容的差异则取决于两个实体之间是否存在关系,或者查看第一个实体的人是否是管理员,这两个例子都希望使用它们来处理。在我看来,您可能会同时使用其中一个或两个方法…按照惯例选择1不是更好吗?这意味着对每个潜在的角色组合有一个单独的看法,这似乎太违反了DRY等待发生的原则。我更喜欢逐案处理,通常是2比1。我只能想到一个例子,我做了1。-澄清:我的意思是选择一个…不是字面意义上的选择数字1,我明白了,但我确实有两个例子——我的主菜单中的差异是由角色引起的,而内容的差异则取决于两个实体之间是否存在关系,或者查看第一个实体的人是否是管理员,这两个例子都希望使用它们来处理。