我正在玩.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));
答案 0 :(得分:2)
当我的声明标识未设置AuthenticationType
时,我遇到了同样的问题。一旦我在AuthenticationType
构造函数中传递了ClaimsIdentity
,就可以了。