从ClaimsPrincipal.Current检索时,Thread.CurrentPrincipal是重置/ ClaimsPrincipal丢失

时间:2016-08-26 02:42:23

标签: .net winforms claims-based-identity iidentity

我有一个运行.Net 4.5.2的WinForms应用程序。

登录时,我创建了一个包含大量声明的ClaimsPrincipal。我保存到Thread.CurrentPrincipal。在相同的登录过程中,ClaimsPrincipal工作正常。

在应用程序初始化之后,当用户单击一个控件时,我尝试从ClaimsPrincipal.Current中检索ClaimsPrincipal。当我这样做时,它是一个GenericPrincipal,它失去了所有的主张。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

这似乎是WinForms和.Net 4.5.2的问题。微软确实表示他们将停止支持WinForms。

我在这种情况下发现的是,如果在通过Thread.CurrentPrincipal设置它之前调用ClaimsPrincipal.Current,则会遇到麻烦。

静态对象被设置为默认的GenericPrincipal或者Thread.CurrentPrincipal被重置。

不稳定的原因是什么。