在 VB.NET 程序中,我想从文件系统读取文件,然后使用不同的凭据将这些文件的压缩版本写入远程、安全的文件共享。
cmd提示符下的类似操作是:
net use s: \\server\share /user:foo P@ssw0rd
copy a+b | compress > s:\foo.bin
net use s: /delete
这可能吗?如何?(不用担心压缩和文件 i/o。我的兴趣是安全部分。)
我这样做WindowsImpersonationContext
吗?
编辑:你说得对,我真的不想映射驱动器;我想要做的是使用不是默认凭据的凭据访问共享。该应用程序由各种用户运行,并且他们通常没有对共享的写入权限。仅出于此单个文件的目的,我想允许用户写入共享。
那么如何使用替代凭据将单个文件写入共享?请记住,我需要默认凭据或身份来读取充当压缩输入的文件。
UserX reads files a1 and b1 as UserX, writes file c1 as UserA
UserY reads files a2 and b2 as UserY, writes file c2 as UserA
这有意义吗?
我知道我可以直接在共享上创建文件。问题是如何使用替代凭据来做到这一点?我知道在创建共享时如何传递替代凭据,这就是我介绍创建共享的想法的原因。我真的不需要共享,因为它仅针对单个文件完成,并且仅在程序中完成。
而且我知道我可以先创建文件,然后将文件复制到共享中。我不想这样做,因为它是一个大文件,我想流式传输一次。