共用方式為


My.User 物件

更新:2007 年 11 月

提供目前使用者相關資訊的存取。

備註

My.User 物件所公開 (Expose) 的屬性和方法會提供目前使用者相關資訊的存取。在 Windows 與 Web 應用程式之間,「目前使用者」的意義略有不同。在 Windows 應用程式中,目前使用者是指執行應用程式的使用者。在 Web 應用程式中,目前使用者則是存取應用程式的使用者。

My.User 屬性也會為目前使用者提供 IPrincipal 的存取。主體物件代表使用者的安全性內容,包括該使用者的識別 (Identity) 以及使用者所屬的任何角色。

若是 Windows 應用程式,這個屬性會提供與 CurrentPrincipal 屬性相同的功能。若是 Web 應用程式,這個屬性則會提供與 Current 屬性所傳回之物件的 User 屬性相同的功能。

注意事項:

若是 Windows 應用程式,只有建置於 [Windows 應用程式] 範本的專案才會根據預設初始化 My.User 物件。在所有其他 Windows 專案型別中,您必須明確地呼叫 My.User.InitializeWithWindowsUser 方法 或指派值給 CurrentPrincipal,以便初始化 My.User。

注意事項:

因為 Windows 95 和 Windows 98 不支援已登入使用者的概念,所以在那些作業系統下執行時,My.User 物件無法報告目前 Windows 使用者的相關資訊。您必須實作自訂驗證 (Authentication),才能在那些作業系統上使用 My.User 物件。如需詳細資訊,請參閱逐步解說:實作自訂驗證和授權

工作

下表會列出包含 My.User 物件的工作範例。

若要

請參閱

取得使用者的登入名稱

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

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

HOW TO:判斷使用者的網域

判斷使用者的角色

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

需求

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

請參閱

參考

My.User 物件成員

IPrincipal

CurrentPrincipal

User

Current