首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CQRS和会话

CQRS和会话
EN

Stack Overflow用户
提问于 2012-12-10 18:07:14
回答 2查看 774关注 0票数 2

我是CQRS的铁杆粉丝,但有一件事我还是搞不懂:你如何描述CQRS中的登录过程?因为它是一个查询(检查凭证)和一个命令(创建内存中的/sql/任何会话状态)。在这种情况下,我们不能使用异步命令,登录过程必须是同步的。

或者会话的概念在CQRS中并不存在,因为它暗示了某种状态?

Rémi

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-10 21:58:17

这完全取决于你的情况。

问题是:在您的应用程序中登录意味着什么?

如果这仅仅意味着用户通过了身份验证,并且在他的浏览器中存储了会话cookie,那么您可以通过读取来实现这一点。例如,您的登录过程可能主要是执行Ajax登录调用的客户端JavaScript代码;登录调用将简单地从读取存储(或LDAP存储或其他存储)读取并返回true/false结果。则接收客户端将创建cookie,并且用户现在被认为是已登录的。cookie甚至可能包含用户名信息。

如果登录意味着登录的记录作为事件存储在数据库中,那么登录当然意味着执行Command。在这里,我认为创建一个同步的Command (可能还有一个单独的登录服务,毕竟这是管道)是有意义的。

票数 1
EN

Stack Overflow用户

发布于 2012-12-11 17:13:09

为什么首先要使用CQRS进行身份验证?这真的很不合适。

相反,您可能会用某种身份验证/授权来包装命令处理程序。

请记住,CQRS并不是无处不在的。它将在有意义的有界上下文中使用。用户和会话管理通常不在其中。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13798739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档