UserContext class 的 AccountId、AuthenticatedUserId 和 Id 之间有什么区别?

What's the difference between AccountId, AuthenticatedUserId and Id of the UserContext class?

UserContext class 提供了 3 个属性来标识用户。它们是:AccountId、AuthenticatedUserId 和 Id。

它们有什么区别?

至少从文档的角度来看,这就是他们的意思:

  • UserId: ID 应该是 Guid 或其他足够复杂的字符串以唯一地标识每个用户。例如,它可以是一个很长的随机数。用户 ID 应跨用户会话持续存在,以跟踪用户随时间的行为方式。有多种方法可以保留 ID。
  • AuthenticatedUserId: 在网络应用程序中,用户(默认情况下)由 cookie 标识。如果用户从不同的机器或浏览器访问您的应用程序,或者如果他们删除 cookie,则可能会多次计算用户。因此,您可以通过在浏览器代码中设置经过身份验证的用户 ID 来获得更准确的计数。

    注意:用户 ID 也设置在会话 cookie 中并发送到服务器。如果安装了服务器 SDK,经过身份验证的用户 ID 将作为客户端和服务器遥测的上下文属性的一部分发送。然后您可以对其进行筛选和搜索。

  • AccountId: 在多租户应用程序中,这是用户正在使用的帐户 ID 或名称。例如,Azure 门户的订阅 ID 或博客平台的博客名称。

参考文献:

希望这对您有所帮助。