我试图弄清楚如何从Linux的.net核心(提供域/用户名/密码)访问经过验证的 Windows文件共享。
我有一个基于.NET框架 在Windows操作系统中执行此操作的示例项目就可以了。 https://github.com/nddipiazza/SambaFetcher (尤其是 https://github.com/nddipiazza/SambaFetcher/blob/master/SmbFetcher/UNCAccess.cs)
但是它直接依赖于NetApi32.dll,因此它将无法在Linux上运行。
.NET核心是否有某种方法可以进行此身份验证?
答案 0 :(得分:1)
您可以使用此库:SMBLibrary,它支持SMB2。我在这里引用说明:
SMBLibrary是开源C#SMB 1.0 / CIFS,SMB 2.0和SMB 2.1 服务器实施。
SMBLibrary为.NET开发人员提供了一种简便的方法 与任何人共享目录/文件系统/虚拟文件系统 支持SMB协议的操作系统。
SMBLibrary是 模块化,您可以利用集成Windows身份验证的优势 和Windows主机上的Windows存储子系统,或使用独立的 实现跨平台兼容性的实现。
可以从任何Windows版本访问SMBLibrary共享,因为 Windows NT 4.0。
主要用于对服务器进行编码,但此处还有一个客户端部分:https://github.com/TalAloni/SMBLibrary/tree/master/SMBLibrary/Client