在操作之前使用 C# 传递服务器共享凭据
我的应用程序使用网络上的共享目录(Windows),我想让该共享在网络上仅对给定的用户和密码可用。 在对该网络资源进行任何操作之前,有什么方法可以通过身份验证吗? *我没有使用域名。
太感谢了!
my application use a shared directory (Windows) on the network and i want to make that share available on network only to a given user and password.
Is there any way to pass authentication prior to any operations on this network resource? *I'm not using a domain.
Thank you so much!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不完全确定如何传递 IO 操作的凭据,但通常我使用模拟类来模拟或委托特定代码块的用户凭据。
例如:
现在,它确实涉及到一点P/Invoke,但最终结果是:
对于给定的代码段,您可以模拟所需的用户来执行您的操作。如果在 using 块中使用,则在执行该代码段后,将恢复模拟并关闭句柄。
如果您不使用 using 块,则需要确保调用
Dispose
来清除所有内容。I'm not totally sure how you would pass credentials for IO operations, but typically I use an impersonation class to impersonate or delegate user credentials for a specific block of code.
E.g.:
Now, it does involve a little P/Invoke, but the end result is:
For a given segment of code, you can impersonate the required user to perform your operations. If used in a using block, after that segment of code is executed, the impersonation is reverted and the handles closed.
If you don't use a using block, you need to ensure you call
Dispose
to clear everything up.