WebClientProtocol.Credentials Egenskap

Definition

Hämtar eller anger säkerhetsautentiseringsuppgifter för XML-webbtjänstklientautentisering.

public:
 property System::Net::ICredentials ^ Credentials { System::Net::ICredentials ^ get(); void set(System::Net::ICredentials ^ value); };
public System.Net.ICredentials Credentials { get; set; }
member this.Credentials : System.Net.ICredentials with get, set
Public Property Credentials As ICredentials

Egenskapsvärde

ICredentials För XML-webbtjänstklienten.

Exempel

Följande exempel är ett ASP.NET webbformulär som anropar en XML-webbtjänst med namnet Math. EnterBtn_Click I funktionen anger webbformuläret uttryckligen autentiseringsuppgifter med egenskapen Credentials . Användarnamnet, lösenordet och domänen skickas till konstruktorn för NetworkCredential klassen.

Important

Det här exemplet har en textruta som accepterar användarindata, vilket är ett potentiellt säkerhetshot. Som standard kontrollerar ASP.NET webbsidor att användarindata inte innehåller skript- eller HTML-element. Mer information finns i.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Net" %>

<html>
    <script language="C#" runat="server">
       void EnterBtn_Click(Object Src, EventArgs E) 
          {
            MyMath.Math math = new MyMath.Math();
            
            // Obtain password from a secure store.
            String SecurelyStoredPassword = String.Empty; 
 
            // Set the client-side credentials using the Credentials property.
            ICredentials credentials = new NetworkCredential("Joe",SecurelyStoredPassword,"mydomain");
            math.Credentials = credentials;
       
            int total = math.Add(Convert.ToInt32(Num1.Text), Convert.ToInt32(Num2.Text));
            Total.Text = "Total: " + total.ToString();
         }
 
    </script>
 
    <body>
       <form action="MathClient.aspx" runat=server>
           
          Enter the two numbers you want to add and then press the Total button.
          <p>
          Number 1: <asp:textbox id="Num1" runat=server/>  +
          Number 2: <asp:textbox id="Num2" runat=server/> =
          <asp:button text="Total" Onclick="EnterBtn_Click" runat=server/>
          <p>
          <asp:label id="Total"  runat=server/>
          
       </form>
    </body>
 </html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Net" %>

<html>
    <script language="VB" runat="server">
        Sub EnterBtn_Click(src As Object, e As EventArgs)
            Dim math As New MyMath.Math()

            ' Obtain password from a secure store.
            Dim SecurelyStoredPassword As String = String.Empty
            
            ' Set the client-side credentials using the Credentials property.
            Dim credentials = New NetworkCredential("Joe", SecurelyStoredPassword, "mydomain")
            math.Credentials = credentials
            
            Dim iTotal As Integer = math.Add(Convert.ToInt32(Num1.Text), Convert.ToInt32(Num2.Text))
            Total.Text = "Total: " + iTotal.ToString()
        End Sub
 
    </script>
 
    <body>
       <form action="MathClient.aspx" runat=server>
           
          Enter the two numbers you want to add and then press the Total button.
          <p>
          Number 1: <asp:textbox id="Num1" runat=server/>  +
          Number 2: <asp:textbox id="Num2" runat=server/> =
          <asp:button text="Total" Onclick="EnterBtn_Click" runat=server/>
          <p>
          <asp:label id="Total"  runat=server/>
          
       </form>
    </body>
 </html>

Kommentarer

När du använder Credentials egenskapen måste en XML-webbtjänstklient instansiera en klass som implementerar ICredentials, till exempel NetworkCredential, och sedan ange klientautentiseringsuppgifterna som är specifika för autentiseringsmekanismen. Klassen NetworkCredential kan användas för att ange autentiseringsuppgifter med hjälp av de grundläggande mekanismerna för sammandrag, NTLM- och Kerberos-autentisering.

När egenskapen Credentials är inställd CredentialCache.DefaultCredentials på förhandlar klienten med servern om kerberos- och/eller NTLM-autentisering beroende på hur servern har konfigurerats.

Gäller för

Se även