共用方式為


User.CurrentPrincipal 屬性

定義

取得或設定目前主體 (以角色為基礎的安全性之用)。

public:
 property System::Security::Principal::IPrincipal ^ CurrentPrincipal { System::Security::Principal::IPrincipal ^ get(); void set(System::Security::Principal::IPrincipal ^ value); };
public System.Security.Principal.IPrincipal CurrentPrincipal { get; set; }
member this.CurrentPrincipal : System.Security.Principal.IPrincipal with get, set
Public Property CurrentPrincipal As IPrincipal

屬性值

IPrincipal 值,表示安全性內容。

例外狀況

呼叫端沒有設定主體的必要權限。

範例

此範例會檢查應用程式是否使用 Windows 或自訂驗證,並使用該資訊來剖析 My.User.Name 屬性。

Function GetUserName() As String
    If TypeOf My.User.CurrentPrincipal Is 
      Security.Principal.WindowsPrincipal Then
        ' The application is using Windows authentication.
        ' The name format is DOMAIN\USERNAME.
        Dim parts() As String = Split(My.User.Name, "\")
        Dim username As String = parts(1)
        Return username
    Else
        ' The application is using custom authentication.
        Return My.User.Name
    End If
End Function

備註

您可以將 屬性設定 My.User.CurrentPrincipal 為實作 IPrincipal 介面的物件,以啟用自定義驗證。

在大部分的項目類型中,這個屬性會取得並設定線程的目前主體。 在 ASP.NET 應用程式中,此屬性會取得並設定目前 HTTP 要求使用者身分識別的安全性資訊。

這是進階成員;除非您按兩下 [ 所有] 索引標籤,否則不會顯示在IntelliSense 中。

依專案類型的可用性

專案類型 可用
Windows 應用程式
類別庫
主控台應用程式
Windows 控制項程式庫
Web 控制項程式庫
Windows 服務
網站

適用於

另請參閱