gpt4 book ai didi

asp.net-mvc-5 - 身份扩展方法

转载 作者:行者123 更新时间:2023-12-05 06:44:48 24 4
gpt4 key购买 nike

我使用 MVC 5,我发现了这个: User.Identity.Name full name mvc5,但我不知道如何使用“身份扩展方法”我把这段代码放在哪里,在哪里...请帮助我

身份扩展方法:

public static class GenericPrincipalExtensions
{
public static string FullName(this IPrincipal user)
{
if (user.Identity.IsAuthenticated)
{
ClaimsIdentity claimsIdentity = user.Identity as ClaimsIdentity;
foreach (var claim in claimsIdentity.Claims)
{
if (claim.Type == "FullName")
return claim.Value;
}
return "";
}
else
return "";
}
}

最佳答案

  1. 创建一个新的静态类,例如IdentityExtended
  2. 将静态方法放入其中,例如
  3. 放入Clamis和Principal的命名空间

using System.Security.Claims;
using System.Security.Principal;

public static class IdentityExtended
{
public static string GetFullName(this IIdentity identity)
{
IEnumerable<Claim> claims = ((ClaimsIdentity)identity).Claims;
var FullName = claims.Where(c => c.Type == "FullName").SingleOrDefault();
return FullName.Value;
}
}

  1. Inside View for Example 写如下

    <h1 class="display-4 rainbow-text">Hello, @User.Identity.GetFullName()!</h1>

    只需确保将类放在解决方案本身中,而不是放在子文件夹中

关于asp.net-mvc-5 - 身份扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27257730/

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