索赔最佳实践

Max*_*hen 6 .net claims-based-identity owin

Microsoft 默认登录系统使用 ClaimTypes.Name 来存储电子邮件,使用 ClaimTypes.NameIdentifier 来存储用户的 UID(以及用于附加控制的 SecurityStamp)。其他一些示例使用 ClaimTypes.Name 来存储用户的全名。我知道我可以按照自己的意愿使用自定义登录系统,但由于我想避免重新发明轮子,所以我有一些问题如下:

  1. NameIdentifier、Sid、PrimaryId 的目的是什么?
  2. 姓名与(名+姓)的目的是什么?
  3. 我应该将登录电子邮件地址放入 ClaimTypes.Email 中吗?
  4. 如果是自定义用户名(不是电子邮件地址),我应该创建一个自定义声明,例如“用户名”吗?