【发布时间】:2016-04-29 12:25:51
【问题描述】:
Thread.CurrentPrincipal 是做什么用的?它对应用程序的身份验证和授权有何帮助?是否有任何文章或资源可以帮助解释它的作用?
【问题讨论】:
标签: asp.net security c#-4.0 iprincipal iidentity
Thread.CurrentPrincipal 是做什么用的?它对应用程序的身份验证和授权有何帮助?是否有任何文章或资源可以帮助解释它的作用?
【问题讨论】:
标签: asp.net security c#-4.0 iprincipal iidentity
Thread.CurrentPrincipal 是 .NET 应用程序表示运行进程的用户或服务帐户身份的方式。
它可以持有一个或多个身份,并允许应用程序通过IsInRole 方法检查主体是否在角色中。
.NET 中的大多数身份验证库将验证用户的凭据并将 Thread 类上的此静态属性设置为新的主体对象。
不同的线程可以有不同的主体,因为它们可能正在处理来自不同用户的请求(在 ASP.NET Web 应用程序中,HttpContext.User 被复制到 Thread.CurrentPrincipal 中以用于每个新请求)
从 .NET 4.5 开始,所有主体类都派生自 ClaimsPrincipal,支持基于声明的身份验证。
【讨论】: