共用方式為


My.User.CurrentPrincipal 屬性

更新:2007 年 11 月

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

 ' Usage Dim value As System.Security.Principal.IPrincipal = My.User.CurrentPrincipal ' Declaration Public Property CurrentPrincipal As System.Security.Principal.IPrincipal

傳回值

IPrincipal 值,代表安全性內容。

例外狀況

下列條件可能造成例外狀況:

備註

您可以將 My.User.CurrentPrincipal 屬性設為實作 IPrincipal 介面的物件,即可啟用自訂驗證 (Authentication)。

在大部分的專案類型中,這個屬性會取得和設定執行緒目前的主體。在 ASP.NET 應用程式中,這個屬性會取得和設定目前 HTTP 要求之使用者身分的安全性資訊。

這是進階的成員,除非您按一下 [全部] 索引標籤,否則不會顯示在 IntelliSense 中。

工作

若要

請參閱

取得使用者的登入名稱

HOW TO:判斷使用者的登入名稱

取得使用者的網域名稱 (如果應用程式使用 Windows 驗證)

HOW TO:判斷使用者的網域

實作自訂驗證

逐步解說:實作自訂驗證和授權

範例

這個範例會檢查應用程式是使用 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

需求

命名空間Microsoft.VisualBasic.ApplicationServices

類別UserWebUser

組件:Visual Basic 執行階段程式庫 (在 Microsoft.VisualBasic.dll 中)

依專案類型的可用性

專案類型

是否可用

Windows 應用程式

類別庫

主控台應用程式

Windows 控制項程式庫

Web 控制項程式庫

Windows 服務

網站

使用權限

下列使用權限可能為必要:

使用權限

描述

SecurityPermission

描述套用至程式碼的一組安全性權限。關聯的列舉型別:ControlPrincipal

如需詳細資訊,請參閱程式碼存取安全性要求使用權限

請參閱

工作

HOW TO:判斷使用者的登入名稱

HOW TO:判斷使用者的網域

逐步解說:實作自訂驗證和授權

參考

My.User 物件

System.Security.Principal.IPrincipal

User.CurrentPrincipal