HttpListenerContext.User プロパティ

定義

要求が HttpListenerContext オブジェクトによって表されるクライアントの ID、認証情報、セキュリティ ロールを取得するために使用するオブジェクトを取得します。

public:
 property System::Security::Principal::IPrincipal ^ User { System::Security::Principal::IPrincipal ^ get(); };
public System.Security.Principal.IPrincipal? User { get; }
public System.Security.Principal.IPrincipal User { get; }
member this.User : System.Security.Principal.IPrincipal
Public ReadOnly Property User As IPrincipal

プロパティ値

クライアントを記述する IPrincipal オブジェクト。この HttpListener を提供した HttpListenerContext が認証を必要としない場合は null

次のコード例では、クライアントに関する ID と認証情報にアクセスし、応答でクライアントに返す方法を示します。

public static string ClientInformation(HttpListenerContext context)
{
    System.Security.Principal.IPrincipal user = context.User;
    System.Security.Principal.IIdentity id = user.Identity;
    if (id == null)
    {
        return "Client authentication is not enabled for this Web server.";
    }

    string display;
    if (id.IsAuthenticated)
    {
        display = String.Format("{0} was authenticated using {1}", id.Name,
            id.AuthenticationType);
    }
    else
    {
       display = String.Format("{0} was not authenticated", id.Name);
    }
    return display;
}
Public Shared Function ClientInformation(ByVal context As HttpListenerContext) As String
    Dim user As System.Security.Principal.IPrincipal = context.User
    Dim id As System.Security.Principal.IIdentity = user.Identity

    If id Is Nothing Then
        Return "Client authentication is not enabled for this Web server."
    End If

    Dim display As String

    If id.IsAuthenticated Then
        display = String.Format("{0} was authenticated using {1}", id.Name, id.AuthenticationType)
    Else
        display = String.Format("{0} was not authenticated", id.Name)
    End If

    Return display
End Function

注釈

HttpListener、 プロパティを使用するか、 プロパティをAuthenticationSchemes使用してデリゲートAuthenticationSchemeSelectorDelegateを指定することで認証がAuthenticationSchemeSelector必要であることを示します。

クライアントのログイン名と認証情報を確認するには、このプロパティによって返される オブジェクトの プロパティをチェックIPrincipal.Identityします。

適用対象