MVC 5添加图像作为声明

时间:2016-06-04 17:02:03

标签: 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
{
    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;
    }
}

现在我发现的问题是在GetImage方法中,返回值是Image字段的命名空间。它实际上并不返回值。我假设这是因为在FindFirst方法中它在返回值之前执行.ToString(),这可以解释为什么它获取类型。我的数据库有价值,我可以通过用户属性访问图像,但我想知道我是否可以将其添加到声明中,是否有办法?

0 个答案:

没有答案