2016-01-22 179 views

回答

3

Thread.CurrentPrincipal是.NET應用程序表示運行該進程的用戶或服務帳戶的身份。

它可以保存一個或多個身份,並允許應用程序通過IsInRole方法檢查主體是否在角色中。

.NET中的大多數身份驗證庫將驗證用戶的憑據,並將Thread類上的此靜態屬性設置爲新的主體對象。

不同線程可具有不同的主體,因爲它們可以處理來自不同用戶的請求(在ASP.NET web應用程序HttpContext.User被複制到Thread.CurrentPrincipal爲每個新的請求)

由於.NET 4.5,所有主要的類派生自ClaimsPrincipal,啓用基於聲明的身份驗證。

UPDATE: 這是一個WindowsPrincipal看起來像我的dev的盒子: enter image description here

+0

假設如果一個用戶登錄到使用Windows身份驗證的應用程序。我們如何表示Thread.CurrentPrincipal。它包含的屬性都是什麼。 – user1844634

+0

Thread.CurrentPrincipal將填充一個WindowsPrincipal對象。它包含諸如UPN之類的其他聲明以及校長是其成員的組。 – MvdD

+0

請您詳細說明一下請 – user1844634

相關問題