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

时间:2013-01-20 12:11:18

标签: c# .net claims-based-identity claims

我正在玩.net 4.5中的claimbaised授权。这很好用。但我得到了一个希望小问题。

我认为设置名称声明类型应该会产生身份名称

我检查了ident.NameClaimType与ClaimTypes.Name具有相同的值 两者都是http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

我设定了新的声明。我可以看到的是身份声明的一部分。 但Identity.Name仍为空。

我做错了什么?

  ClaimsIdentity ident = (ClaimsIdentity)incomingPrincipal.Identity;

  ident.AddClaim(new Claim(ClaimTypes.Name, resourceName));

1 个答案:

答案 0 :(得分:2)

当我的声明标识未设置AuthenticationType时,我遇到了同样的问题。一旦我在AuthenticationType构造函数中传递了ClaimsIdentity,就可以了。