Код: Выделить всё
public static MvcHtmlString GetUsersFirstAndLastName(this HtmlHelper helper)
{
string fullName = HttpContext.Current?.User?.Identity?.Name ?? string.Empty;
var userIdentity = (ClaimsPrincipal)Thread.CurrentPrincipal;
var nameClaim = identity?.FindFirst("fullname");
if (nameClaim != null)
{
fullName = nameClaim.Value;
}
return MvcHtmlString.Create(fullName);
}
Что я сделал, чтобы исправить это, так это то, что когда они обновляли свое имя в настройках учетной записи, я добавил некоторый код, чтобы удалить их старое утверждение FullName и добавить новое, например это:
Код: Выделить всё
var identity = User.Identity as ClaimsIdentity;
// check for existing claim and remove it
var currentClaim = identity.FindFirst("fullName");
if (currentClaim != null)
identity.RemoveClaim(existingClaim);
// add new claim
var fullName = user.FirstName + " " + user.LastName;
identity.AddClaim(new Claim("fullName", fullName));
Поскольку я все еще немного новичок в идентификации, я немного озадачен, почему это новое обновленное утверждение не работает после того, как они переходят на другую страницу или обновляются. Любая помощь приветствуется.

Подробнее здесь: https://stackoverflow.com/questions/390 ... ated-claim