登录尝试过滤器是否应该是用户聚合的域的一部分?

时间:2014-05-19 16:54:26

标签: authentication domain-driven-design cqrs

真正的企业可以保护自己免受客户的不自然/不良行为的影响。企业可以培训员工如何处理某些人的不良行为。在应用程序中,我们可以添加业务规则,这些规则可以解决上述现实案例中的业务规则。我考虑这个规则,一个登录过滤器。一个用户登录时尝试的次数不能超过5次,如果尝试失败的次数过多,则临时阻止用户并向他发送电子邮件。

许多人说身份验证不是域的一部分。但是如果不在域中,那么如何/在何处过滤,尝试使用auth,阻塞状态?这种行为是否与用户的状态紧密相关?

所以我的问题是:我应该在User聚合中添加一个值对象来显示auth尝试,auth状态(阻止还是允许auth)?或者我应该将所有这些数据保存在服务之外(尽管可能看起来很奇怪)?

P.S。 :当然,最终的通话/支票将在应用服务中完成,但我不清楚我是否应该放置规则(阻止用户将第5次尝试添加到聚合中)和此登录历史记录(作为过滤器)在域内。

0 个答案:

没有答案