Asp.net core 移动到在.Net Core中使用声明标识

Asp.net core 移动到在.Net Core中使用声明标识,asp.net-core,asp.net-core-mvc,claims-based-identity,iidentity,Asp.net Core,Asp.net Core Mvc,Claims Based Identity,Iidentity,在我们当前的系统(.net 4.5)中,为了在整个应用程序中处理用户身份验证,我们创建了自己的IIdentity和IPrincipal对象。因此,对于每个请求,我们解密cookie中的一个属性(存储在登录时),并使用该属性检查用户对象的缓存(它还为我们提供客户机对象)。如果用户在缓存中,那么我们将HttpContextBase.user和Thread.CurrentPrincipal设置为我们自己的IPrincipal。如果用户不在缓存中,那么我们从数据库中获取它们并设置上面的值 这非常有效,因

在我们当前的系统(.net 4.5)中,为了在整个应用程序中处理用户身份验证,我们创建了自己的
IIdentity
IPrincipal
对象。因此,对于每个请求,我们解密cookie中的一个属性(存储在登录时),并使用该属性检查用户对象的缓存(它还为我们提供客户机对象)。如果用户在缓存中,那么我们将
HttpContextBase.user
Thread.CurrentPrincipal
设置为我们自己的
IPrincipal
。如果用户不在缓存中,那么我们从数据库中获取它们并设置上面的值

这非常有效,因为我们有一个带有两个属性的
BaseController
,一个用于当前用户,一个用于当前客户端。通过将
User.Identity
转换为我们自己的
IIdentity
来访问它们

我们现在正在考虑将我们的应用程序转移到.netcore,但鉴于我们似乎无法复制它,我们不确定如何实现上述目标。我们目前正在使用带有ASP Identity()的cookie中间件,我们正在设置一些声明(id、名称等),但我们不确定如何或应该在哪里检查缓存,并在每个请求上设置一些属性