User.CurrentPrincipal 属性  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置当前主体(对基于角色的安全性而言)。
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, setPublic 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 服务 | 是 | 
| 网站 | 是 |