在MVC4中向ClaimsPrincipal添加多个标识

时间:2018-02-01 19:01:53

标签: c# asp.net authentication owin claims-based-identity

在我的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/

这部分特别感兴趣我:

  

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

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

0 个答案:

没有答案