Esta documentación está archivada y no tiene mantenimiento.

ICredentials (Interfaz)

Actualización: noviembre 2007

Proporciona la interfaz de autenticación base con el fin de recuperar credenciales de autenticación de cliente Web.

Espacio de nombres:  System.Net
Ensamblado:  System (en System.dll)

public interface ICredentials
public interface ICredentials
public interface ICredentials

La interfaz ICredentials proporciona el método GetCredential para objetos que suministran credenciales de red a las aplicaciones.

En el siguiente ejemplo se muestra cómo utilizar la interfaz ICredentials.

	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 CredentialList implements 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;
        } //CredentialInfo
    } //CredentialInfo

    private ArrayList arrayListObj;

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

    public void Add(Uri uriObj, String authenticationType, 
        NetworkCredential credential)
    {
        // Add a 'CredentialInfo' object into a list.
        arrayListObj.Add(new CredentialInfo(uriObj, 
            authenticationType, credential));
    } //Add

    // 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.get_Count(); index++) {
            CredentialInfo credentialInfo = (CredentialInfo)
                arrayListObj.get_Item(index);

            if (uriObj.Equals(credentialInfo.uriObj) && 
                authenticationType.Equals(credentialInfo.authenticationType)) {
                arrayListObj.RemoveAt(index);
            }
        }
    } //Remove

    public NetworkCredential GetCredential(Uri uriObj, 
        String authenticationType)
    {
        for (int index = 0; index < arrayListObj.get_Count(); index++) {
            CredentialInfo credentialInfoObj = (CredentialInfo)
                arrayListObj.get_Item(index);

            if (uriObj.Equals(credentialInfoObj.uriObj) && 
                authenticationType.Equals(credentialInfoObj.
                authenticationType)) {
                return credentialInfoObj.networkCredentialObj;
            }
        }
        return null;
    } //GetCredential
} //CredentialList


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 3.5, 2.0, 1.0

XNA Framework

Compatible con: 2.0, 1.0
Mostrar: