gpt4 book ai didi

asp.net-identity - IIdentity.Name 与 IIdentity.GetUserName() 扩展方法

转载 作者:行者123 更新时间:2023-12-04 06:38:40 35 4
gpt4 key购买 nike

扩展方法在Microsoft.AspNet.Identity .那么有什么区别呢?这两个什么时候会返回不同的值?

var idName = User.Identity.Name;
var idGetName = User.Identity.GetUserName();

最佳答案

扩展方法的实现类似于;

public static string GetUserName(this IIdentity identity)
{
if (identity == null)
{
throw new ArgumentNullException("identity");
}
ClaimsIdentity claimsIdentity = identity as ClaimsIdentity;
if (claimsIdentity == null)
{
return null;
}
return claimsIdentity.FindFirstValue("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name");
}
IIdentity.Name 之间返回值的唯一明显差异和 IdentityExtensions.GetUserName()GetUserName()如果底层 IIdentity 实现不是 ClaimsIdentity,则总是返回 null , 而 Name属性将返回底层 IIdentity 实现返回的任何内容。

关于asp.net-identity - IIdentity.Name 与 IIdentity.GetUserName() 扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20830855/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com