我正在使用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 "";
}
}
答案 0 :(得分:1)
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;
}
}
示例的内部视图如下所示
<h1 class="display-4 rainbow-text">Hello, @User.Identity.GetFullName()!</h1>
只需确保将类放入解决方案本身而不放在子文件夹中