HttpListenerContext.User 屬性
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得用來取得用戶端識別、驗證資訊和安全性角色之物件,由這個 HttpListenerContext 物件表示用戶端的要求。
public:
property System::Security::Principal::IPrincipal ^ User { System::Security::Principal::IPrincipal ^ get(); };
C#
public System.Security.Principal.IPrincipal? User { get; }
C#
public System.Security.Principal.IPrincipal User { get; }
member this.User : System.Security.Principal.IPrincipal
Public ReadOnly Property User As IPrincipal
描述用戶端的 IPrincipal 物件,如果提供這個 HttpListener 的 HttpListenerContext 不需要驗證,則為 null
。
下列程式代碼範例示範如何存取用戶端的身分識別和驗證資訊,並在回應中將其傳回至用戶端。
C#
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表示它需要使用 屬性或藉由使用 AuthenticationSchemeSelectorDelegate 屬性指定AuthenticationSchemeSelector委派來進行驗證AuthenticationSchemes。
若要判斷用戶端的登入名稱和驗證資訊,請檢查 IPrincipal.Identity 此屬性所傳回之 物件中的 屬性。
產品 | 版本 |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10 |
.NET Framework | 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |