asp.net – 什么是Thread.CurrentPrincipal,它有什么作用?

前端之家收集整理的这篇文章主要介绍了asp.net – 什么是Thread.CurrentPrincipal,它有什么作用?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
什么是Thread.CurrentPrincipal用于?它如何帮助应用程序的身份验证和授权?是否有任何文章或资源可以帮助解释它的作用?

解决方法

Thread.CurrentPrincipal是.NET应用程序表示运行该进程的用户或服务帐户的标识的方式.

它可以包含一个或多个标识,并允许应用程序通过IsInRole方法检查主体是否处于角色中.

.NET中的大多数身份验证库都将验证用户的凭据,并将Thread类上的此静态属性设置为新的主体对象.

不同的线程可以有不同的主体,因为它们可能正在处理来自不同用户的请求(在ASP.NET Web应用程序中,HttpContext.User被复制到每个新请求的Thread.CurrentPrincipal中)

从.NET 4.5开始,所有主要类都派生自ClaimsPrincipal,从而启用基于声明的身份验证.

更新:
这就是我的开发盒上的WindowsPrincipal:

猜你在找的asp.Net相关文章