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 服务
网站

适用于

另请参阅