如何在MVC中维护单独的层?像业务层和安全层

时间:2009-03-25 12:26:24

标签: asp.net-mvc

我熟悉三层即可。查看模型&控制器。

现在我要分开另外两层即。安全层&业务逻辑层 除了这些。

那我该怎么做?

假设控制器没问题,但是哪个用户有这个特权,我想在安全层和安全层中做出决定。如果它通过这一层,它将进入业务层,在该业务层中将执行复杂的查询,就像业务规则一样。

任何人都可以用小代码帮助我吗?

2 个答案:

答案 0 :(得分:2)

3 MVC图层实际上只适用于用户界面的角度,因此您注意到的两个附加图层实际上是模型的一部分。

在DDD(域驱动设计)类型设计中,您可以让控制器调用应用程序服务,如果操作已获得授权,则可以处理安全层检查,然后对业务层执行操作(即核心域模型层)或将“拒绝访问”类型的消息返回给控制器。

或者,您可以直接将控制器调用到内部进行安全检查的业务逻辑层(调用安全层),而不是使用应用程序服务层,而是根据业务逻辑的复杂程度,将它与您的授权检查混合到安全层可能不太清楚。

答案 1 :(得分:0)

MVC框架应该是一个演示框架。在3层架构中,它是表示层。现在LINQ to SQL是一个数据访问层,它不应该在表示层而是必须是在业务层(服务层)

此链接可以帮助您.. link text