【发布时间】:2020-12-05 05:44:45
【问题描述】:
我是服务器端开发的新手,我正在尝试在 Ktor 中构建 API 服务。
我不明白 Session 和 Principal 之间的区别。 从我发现的示例看来,会话和主体对象都用于存储有关调用者的信息,例如他们的 userId 等。
如果 Session 实现了相同的目标,为什么还有 Principal? 我错过了什么?
【问题讨论】:
标签: session api-design ktor principal
我是服务器端开发的新手,我正在尝试在 Ktor 中构建 API 服务。
我不明白 Session 和 Principal 之间的区别。 从我发现的示例看来,会话和主体对象都用于存储有关调用者的信息,例如他们的 userId 等。
如果 Session 实现了相同的目标,为什么还有 Principal? 我错过了什么?
【问题讨论】:
标签: session api-design ktor principal
Principal 表示用户标识,即凭证的所有者。它可以是用户 ID、姓名或其他内容。
会话表示用户会话,特定设备上的用户交互会话。会话中可能没有用户信息。例如,您可以在没有登录的情况下进行匿名会话。
另一方面,如果用户在不同的设备上使用您的服务,它将有多个会话,但用户将是相同的。
【讨论】: