0

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

登录时,我创建了一个带有一堆声明的 ClaimsPrincipal。我保存到 Thread.CurrentPrincipal。在同一个登录过程中,ClaimsPrincipal 工作正常。

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

我究竟做错了什么?

4

1 回答 1

1

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

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

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

不管不稳定的原因是什么。

于 2016-08-27T08:05:44.453 回答