服务层或存储库中的密码哈希等?

时间:2009-08-20 16:47:36

标签: asp.net-mvc model-view-controller design-patterns

作为MVC中的最佳实践,在将数据发送到数据库之前,逻辑应该处理诸如密码散列/ salting或数据格式之类的内容?我已经读过,存储库应该只用于处理数据访问的逻辑。这是属于服务层的东西吗?控制器?它甚至重要吗?

2 个答案:

答案 0 :(得分:5)

我倾向于将散列放在存储库层中,如果只是因为您知道是否存在多个需要存储密码的服务类的实际原因,您将有一些保证他们不会这样做散列不同。基本上,请遵循DRY原则。

答案 1 :(得分:1)

我认为这取决于你如何看待它。我倾向于认为密码散列是必要的,因此类似于,例如,在进入数据库之前转义输入。在这种情况下,它将属于存储库