C# MVC 5添加图像作为声明

C# MVC 5添加图像作为声明,c#,asp.net-mvc,asp.net-mvc-5,claims-based-identity,claims,C#,Asp.net Mvc,Asp.net Mvc 5,Claims Based Identity,Claims,正如标题所说,我可以这样做吗?以下是我尝试过的: private static string GetImage(this IIdentity identity) { var claim = ((ClaimsIdentity) identity).FindFirst("Image"); return (claim != null) ? claim.Value : string.Empty; } public class User : IdentityUser { publ

正如标题所说,我可以这样做吗?以下是我尝试过的:

private static string GetImage(this IIdentity identity)
{
    var claim = ((ClaimsIdentity) identity).FindFirst("Image");
    return (claim != null) ? claim.Value : string.Empty;
}

public class User : IdentityUser
{
    public byte[] Image { get; set; }

    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<User> manager)
    {
        var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
        userIdentity.AddClaim(new Claim("Image", System.Text.Encoding.Default.GetString(Image)));
        return userIdentity;
    }
}
private静态字符串GetImage(此IIdentity标识)
{
var claim=((ClaimsIdentity)identity.FindFirst(“Image”);
return(claim!=null)?claim.Value:string.Empty;
}
公共类用户:IdentityUser
{
公共字节[]映像{get;set;}
公共异步任务GenerateUserIdentityAsync(用户管理器)
{
var userIdentity=wait manager.CreateIdentityAsync(这是DefaultAuthenticationTypes.ApplicationOkie);
userIdentity.AddClaim(新声明(“Image”,System.Text.Encoding.Default.GetString(Image));
返回用户身份;
}
}
现在我发现的问题是,在GetImage方法中,返回值是Image字段的名称空间。它实际上并没有返回值。我假设这是因为在FindFirst方法中,它在返回值之前执行了一个.ToString(),这可以解释它获取类型的原因。我的数据库有这个值,我可以通过用户属性访问该图像,但我想知道是否可以将其添加到声明中,有办法吗