【发布时间】:2008-12-15 11:56:43
【问题描述】:
我是 ASP.NET MVC 的新手,我发现的所有教程、示例等都非常基础。
是否有可能(如果是,一个好的设计)有这样的路线: .../组织/10/用户/5/编辑 .../组织/10/用户/列表
换句话说;网址可以反映您的域模型吗?
【问题讨论】:
标签: asp.net-mvc routing
我是 ASP.NET MVC 的新手,我发现的所有教程、示例等都非常基础。
是否有可能(如果是,一个好的设计)有这样的路线: .../组织/10/用户/5/编辑 .../组织/10/用户/列表
换句话说;网址可以反映您的域模型吗?
【问题讨论】:
标签: asp.net-mvc routing
可能,是的,路线类似于:
"~/Organization/{orgId}/{Controller}/{id}/{action}"
它是否是一个好的设计我不能肯定地说,只是它对我来说似乎相当复杂。
如果您有多个用户表,每个公司一个,这可能是有意义的。
【讨论】:
除非绝对必要,否则保持路由与对象模型关系解耦。否则,您将不得不在模型的每次更改时重写路线。
【讨论】:
“如果您有多个用户表,每个公司一个,这可能是有意义的。” 为什么只有那时?
“~/Organization/10/User/5/Edit”
... 始终为我提供组织背景。
我在第一个问题中没有这么说,但是我编写了一个操作过滤器,根据登录用户必须属于当前操作的组织的规则进行授权(因此无法看到/编辑/其他组织的任何用户)。
我并不是说它是最好的解决方案,但是如果不将这个横切关注点(方面)实现为一个知道组织 ID(通过操作参数)的操作过滤器,您将如何优雅地解决授权问题?
正如我最初所说,我是 MVC 世界的新手,对答案感到非常兴奋。
【讨论】: