5 votes

Partage multi-plateforme authentifié de Windows

J'essaie de comprendre comment accéder à une authentifié Partage de fichiers Windows à partir du noyau .net (fourniture du domaine / nom d'utilisateur / mot de passe) à partir de Linux.

J'ai un projet type basé sur le cadre .NET qui fait cela très bien dans le système d'exploitation Windows. https://github.com/nddipiazza/SambaFetcher (en particulier https://github.com/nddipiazza/SambaFetcher/blob/master/SmbFetcher/UNCAccess.cs )

Mais il dépend directement de la dll NetApi32.dll et ne fonctionnera donc pas sous Linux.

Existe-t-il un moyen de réaliser cette authentification à partir de .NET core ?

3voto

Simon Mourier Points 49585

Vous pouvez utiliser cette bibliothèque : Bibliothèque SMB qui supporte SMB2. Je vais citer la description ici :

SMBLibrary est une implémentation de serveur C# open-source SMB 1.0/CIFS, SMB 2.0 et SMB 2.1. implémentation de serveur.

SMBLibrary offre aux développeurs .NET un moyen simple de partager un répertoire, un système de fichiers ou un système de fichiers virtuel avec système d'exploitation qui prend en charge le protocole SMB.

SMBLibrary est modulaire, vous pouvez profiter de l'authentification intégrée de Windows et du sous-système de stockage Windows sur un hôte Windows ou utiliser des implémentations indépendantes qui permettent une compatibilité multiplateforme.

Les partages de SMBLibrary sont accessibles à partir de n'importe quelle version de Windows depuis Windows NT 4.0.

C'est surtout pour coder un serveur, mais il y a aussi une partie client ici : https://github.com/TalAloni/SMBLibrary/tree/master/SMBLibrary/Client

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X