User.Identity vs Thread.CurrentPrincipal.Identity?

时间:2016-01-22 07:04:07

标签: asp.net asp.net-mvc

有些网页试图解释这个问题,但我找不到最近的网页,所以请允许我再问一遍。

asp.net MVC 5 中,User.IdentityThread.CurrentPrincipal.Identity有什么区别?

我试图打印它的名字并宣称它们看起来和我一样,也许我错过了一些东西。

1 个答案:

答案 0 :(得分:4)

我相信你已经读过这个:Thread.CurrentPrincipal vs Current.User,没有必要重新解释同样的事情。

您的问题的答案是我猜这取决于您正在开发的应用程序。如果它是Web应用程序(例如ASP.NET MVC),那么您应该支持User.Identity,因为User.Identity是为Web应用程序设计的。

通常它们之间没有区别,因为ASP.NET确保它们处于同步状态。(除非您按照Scott的说明更改它们)

在某些情况下,您不希望(也无权访问)System.Web,因此您必须使用Thread.CurrentPrincipal.Identity

另请注意上面的Scott博客..如果您要更改其中一个,请确保它们同步。