ASP.Net Identity 2,HttpRequestBase.LogonUserIdentity

时间:2014-08-29 07:39:14

标签: asp.net asp.net-mvc asp.net-identity

将ASP.Net Identity 2提供程序模型与普通Authorize属性结合使用。

匿名访问为true,禁用Windows身份验证。

HttpRequestBase.IsAuthenticated将返回true,但HttpRequestBase.LogonUserIdentity将不会返回实际的ClaimsIdentity,而是模仿用户(因为我在本地运行IIS Express)。< / p>

来自提供者的实际经过身份验证和返回的ClaimsIdentity可通过例如

访问

HttpContext.Current.User...和/或System.Threading.Thread.CurrentPrincipal...

问:为什么不通过HttpRequestBase.LogonUserIdentity

1 个答案:

答案 0 :(得分:0)

我第一次看到这个属性被使用了。 documentation表示此属性应返回当前用户的WindowsIdentity。 MVC应用程序不知道登录用户的WindowsIdentity,因为没有这样的东西。

同样在source code中,此属性eventually会询问服务器变量。

我通常会通过ClaimsPrincipal.Current访问当前登录的用户,并且从未见过从HttpRequestBase.LogonUserIdentity检索到的用户。
HttpRequestBase.IsAuthenticated HttpContext.Current.User.IsAuthenticated identical调用{{1}}并且几乎没有空检查。