设置ClaimTypes.Name不会产生identity.name

本文关键字:identity name ClaimTypes Name 设置 | 更新日期: 2023-09-27 17:54:30

我在。net 4.5中使用声明授权。这工作得很好。但是我有一个小问题。

我认为设置名称声明类型应该产生一个标识名

我检查了那个标识。NameClaimType与ClaimTypes具有相同的值。名字都是http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

我设置了新的索赔。我可以看出这是身份声明的一部分。但身份。Name仍然为空

我做错了什么?

  ClaimsIdentity ident = (ClaimsIdentity)incomingPrincipal.Identity;
  ident.AddClaim(new Claim(ClaimTypes.Name, resourceName));

设置ClaimTypes.Name不会产生identity.name

当我的索赔标识没有设置AuthenticationType时,我也遇到了同样的问题。一旦我在ClaimsIdentity构造函数中传入AuthenticationType,它就工作了。