ICredentials.GetCredential(Uri, String) Yöntem

Tanım

Belirtilen URI ve kimlik doğrulama türüyle ilişkili bir NetworkCredential nesne döndürür.

public:
 System::Net::NetworkCredential ^ GetCredential(Uri ^ uri, System::String ^ authType);
public System.Net.NetworkCredential GetCredential (Uri uri, string authType);
public System.Net.NetworkCredential? GetCredential (Uri uri, string authType);
abstract member GetCredential : Uri * string -> System.Net.NetworkCredential
Public Function GetCredential (uri As Uri, authType As String) As NetworkCredential

Parametreler

uri
Uri

Uri İstemcinin kimlik doğrulamasını sağladığı.

authType
String

Özelliğinde AuthenticationType tanımlandığı gibi kimlik doğrulama türü.

Döndürülenler

NetworkCredential Belirtilen URI ve kimlik doğrulama türüyle ilişkili olan veya kullanılabilir kimlik bilgisi yoksa . null

Örnekler

Aşağıdakiler bir NetworkCredential örneği almak için kullanırGetCredential.

ref class CredentialList: public ICredentials
{
private:
   ref class CredentialInfo
   {
   public:
      Uri^ uriObj;
      String^ authenticationType;
      NetworkCredential^ networkCredentialObj;
      CredentialInfo( Uri^ uriObj, String^ authenticationType, NetworkCredential^ networkCredentialObj )
      {
         this->uriObj = uriObj;
         this->authenticationType = authenticationType;
         this->networkCredentialObj = networkCredentialObj;
      }
   };

   ArrayList^ arrayListObj;

public:
   CredentialList()
   {
      arrayListObj = gcnew ArrayList;
   }

   void Add( Uri^ uriObj, String^ authenticationType, NetworkCredential^ credential )
   {
      
      // Add a 'CredentialInfo' object into a list.
      arrayListObj->Add( gcnew CredentialInfo( uriObj,authenticationType,credential ) );
   }

   // Remove the 'CredentialInfo' object from the list that matches to the given 'Uri' and 'AuthenticationType'
   void Remove( Uri^ uriObj, String^ authenticationType )
   {
      for ( int index = 0; index < arrayListObj->Count; index++ )
      {
         CredentialInfo^ credentialInfo = dynamic_cast<CredentialInfo^>(arrayListObj[ index ]);
         if ( uriObj->Equals( credentialInfo->uriObj ) && authenticationType->Equals( credentialInfo->authenticationType ) )
                  arrayListObj->RemoveAt( index );
      }
   }

   virtual NetworkCredential^ GetCredential( Uri^ uriObj, String^ authenticationType )
   {
      for ( int index = 0; index < arrayListObj->Count; index++ )
      {
         CredentialInfo^ credentialInfoObj = dynamic_cast<CredentialInfo^>(arrayListObj[ index ]);
         if ( uriObj->Equals( credentialInfoObj->uriObj ) && authenticationType->Equals( credentialInfoObj->authenticationType ) )
                  return credentialInfoObj->networkCredentialObj;
      }
      return nullptr;
   }
};
class CredentialList : ICredentials
{
    class CredentialInfo
    {
        public Uri uriObj;
        public String authenticationType;
        public NetworkCredential networkCredentialObj;

        public CredentialInfo(Uri uriObj, String authenticationType, NetworkCredential networkCredentialObj)
        {
            this.uriObj = uriObj;
            this.authenticationType = authenticationType;
            this.networkCredentialObj = networkCredentialObj;
        }
    }

    private ArrayList arrayListObj;

    public CredentialList()
    {
        arrayListObj = new ArrayList();
    }

    public void Add (Uri uriObj, String authenticationType, NetworkCredential credential)
    {
        // Add a 'CredentialInfo' object into a list.
        arrayListObj.Add (new CredentialInfo(uriObj, authenticationType, credential));
    }
    // Remove the 'CredentialInfo' object from the list that matches to the given 'Uri' and 'AuthenticationType'
    public void Remove (Uri uriObj, String authenticationType)
    {
        for(int index=0;index < arrayListObj.Count; index++)
        {
            CredentialInfo credentialInfo = (CredentialInfo)arrayListObj[index];
            if(uriObj.Equals(credentialInfo.uriObj)&& authenticationType.Equals(credentialInfo.authenticationType))
                arrayListObj.RemoveAt(index);
        }
    }
    public NetworkCredential GetCredential (Uri uriObj, String authenticationType)
    {
        for(int index=0;index < arrayListObj.Count; index++)
        {
            CredentialInfo credentialInfoObj = (CredentialInfo)arrayListObj[index];
            if(uriObj.Equals(credentialInfoObj.uriObj) && authenticationType.Equals(credentialInfoObj.authenticationType))
                return credentialInfoObj.networkCredentialObj;
        }
        return null;
    }
};

 Class CredentialInfo
     Public uriObj As Uri
     Public authenticationType As [String]
     Public networkCredentialObj As NetworkCredential
     
     
     Public Sub New(uriObj As Uri, authenticationType As [String], networkCredentialObj As NetworkCredential)
         Me.uriObj = uriObj
         Me.authenticationType = authenticationType
         Me.networkCredentialObj = networkCredentialObj
     End Sub
 End Class
 
 Private arrayListObj As ArrayList
 
 
 Public Sub New()
     arrayListObj = New ArrayList()
 End Sub
 
 
 Public Sub Add(uriObj As Uri, authenticationType As [String], credential As NetworkCredential)
     ' adds a 'CredentialInfo' object into a list
     arrayListObj.Add(New CredentialInfo(uriObj, authenticationType, credential))
 End Sub
 
 ' Remove the 'CredentialInfo' object from the list which matches to the given 'Uri' and 'AuthenticationType'
 Public Sub Remove(uriObj As Uri, authenticationType As [String])
     Dim index As Integer
     For index = 0 To arrayListObj.Count - 1
         Dim credentialInfo As CredentialInfo = CType(arrayListObj(index), CredentialInfo)
         If uriObj.Equals(credentialInfo.uriObj) And authenticationType.Equals(credentialInfo.authenticationType) Then
             arrayListObj.RemoveAt(index)
         End If
     Next index
 End Sub
 
 Public Function GetCredential(uriObj As Uri, authenticationType As [String]) As NetworkCredential  Implements ICredentials.GetCredential
     Dim index As Integer
     For index = 0 To arrayListObj.Count - 1
         Dim credentialInfoObj As CredentialInfo = CType(arrayListObj(index), CredentialInfo)
         If uriObj.Equals(credentialInfoObj.uriObj) And authenticationType.Equals(credentialInfoObj.authenticationType) Then
             Return credentialInfoObj.networkCredentialObj
         End If
     Next index
     Return Nothing
 End Function 'GetCredential

Açıklamalar

yöntemi, GetCredential belirtilen URI ve yetkilendirme düzeniyle ilişkili kimlik bilgilerini içeren bir NetworkCredential örnek döndürür. Kullanılabilir GetCredential kimlik bilgisi olmadığında yöntemi döndürür null.

Şunlara uygulanır