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!