Maison >développement back-end >C++ >Comment se connecter aux partages de réseau avec des informations d'identification personnalisées dans .NET?

Comment se connecter aux partages de réseau avec des informations d'identification personnalisées dans .NET?

DDD
DDDoriginal
2025-01-30 17:21:09351parcourir

How to Connect to Network Shares with Custom Credentials in .NET?

Accès aux partages du réseau avec des informations d'identification personnalisées dans des applications .NET

Les autorisations utilisateur insuffisantes nécessitent souvent de fournir d'autres informations d'identification lors de la connexion aux partages de réseau. Dans .NET 2.0 et plus tard, cela est accompli en utilisant la fonction WNetAddConnection2 de mpr.dll.

Une classe de connexion réseau personnalisée

Pour une gestion efficace, une classe dédiée simplifie la gestion des connexions réseau. Voici un exemple de mise en œuvre:

<code class="language-csharp">public class NetworkConnection : IDisposable
{
    private string _networkName;

    public NetworkConnection(string networkName, NetworkCredential credentials)
    {
        _networkName = networkName;
        // ... Connection establishment logic using WNetAddConnection2 ...
    }

    public void Dispose()
    {
        // ... Clean up resources, disconnect from the network share ...
    }
}</code>

établissant la connexion

La logique de connexion principale, en utilisant WNetAddConnection2, réside dans le constructeur NetworkConnection:

<code class="language-csharp">var result = WNetAddConnection2(
    netResource, 
    credentials.Password,
    userName,
    0);

// Error handling: Check for non-zero result and throw Win32Exception if necessary.</code>

Exemple pratique

Cet exemple démontre un scénario d'utilisation de base:

<code class="language-csharp">public class Program
{
    public static void Main(string[] args)
    {
        // Establish connection using custom credentials.
        using (var connection = new NetworkConnection(@"\server\share", new NetworkCredential("domain\username", "password")))
        {
            // Access and manipulate the network share.
            // ...
        }
    }
}</code>

Cette méthode offre un contrôle granulaire sur le processus de connexion, permettant une manipulation flexible de divers scénarios et une provision d'identification personnalisée. N'oubliez pas d'implémenter une gestion des erreurs et un nettoyage des ressources appropriés dans la méthode Dispose.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn