Asp.net mvc 使用Identity 2.1在索赔中存储常用用户信息

Asp.net mvc 使用Identity 2.1在索赔中存储常用用户信息,asp.net-mvc,asp.net-identity-2,Asp.net Mvc,Asp.net Identity 2,使用Identity 2.1和自定义用户模型构建mvc站点。在用户模型中有一些信息,我几乎在每个控制器中都需要这些信息。每次调用findbynamesync都会对数据库产生超出我认为必要的影响 如果我经常需要一些小的字符串和/或int,那么最好在用户登录时将它们添加为身份声明? identity.AddClaim(新声明(“MyInfo”、“xyz”) 或者是否有一种更为普遍的做法,例如在redis(或等效工具)中缓存用户对象?Wavel,今天存储一些用户信息,您需要更快地访问这些信息,非常推荐

使用Identity 2.1和自定义用户模型构建mvc站点。在用户模型中有一些信息,我几乎在每个控制器中都需要这些信息。每次调用
findbynamesync
都会对数据库产生超出我认为必要的影响

如果我经常需要一些小的
字符串
和/或
int
,那么最好在用户登录时将它们添加为身份声明?
identity.AddClaim(新声明(“MyInfo”、“xyz”)


或者是否有一种更为普遍的做法,例如在redis(或等效工具)中缓存用户对象?

Wavel,今天存储一些用户信息,您需要更快地访问这些信息,非常推荐将其存储到身份声明中,这是最佳做法。但是,不建议您将任何信息或长信息存储到身份声明中,因为此身份声明信息在用户登录应用程序后存储到cookie中。

是的,这正是声明的要点:)@AshleyMedway如何从用户处获取声明?用户身份?任何指针都会有帮助,谢谢。请看这个答案@trailmax Ah,将用户转换为ClaimsPrincipal是关键。谢谢你的帮助!