在我的MVC4应用程序中,有两种登录方式;作为客户或作为后台管理员 .

目前,如果您以其中任何一个身份登录,则ClaimsPrincipal将替换为包含新登录的单个标识的全新版本 . 目前无法同时登录客户帐户和管理员帐户,这是我们现在的要求 .

我觉得仅使用此处描述的AddIdentity方法向已存在的ClaimsPrincipal添加新标识是有意义的:https://msdn.microsoft.com/en-us/library/system.security.claims.claimsprincipal.addidentity(v=vs.110).aspx

然而,这并没有增加第二个身份 . 然后我发现了这篇文章:https://blogs.msdn.microsoft.com/mrochon/2017/06/23/claims-augmentation-post-token/

这部分特别让我感兴趣:

理论上,应该可以通过向ClaimsPrincipal添加新的ClaimsIdentity来实现 . 但是,ASP.NET 4中的OWIN不会序列化新标识 . 另一种方法是修改现有的ClaimsIdentity,如下所示

那么如果在ASP.NET 4中不可能,为什么不呢? Microsoft文档中提到了哪些内容?如果我们迁移到.NET Core,我们可以期待这个吗? ASP.NET 4中是否有任何变通方法?