在整个用户会话中(例如,登录 Windows 网络共享 (SMB) 很容易)net use
, WNetAddConnection2()
etc).
有没有类似的方法只会影响我当前的流程?
也许是某种令牌系统?
如果确实没有其他选择,整个会话身份验证是可以的,但我宁愿避免“局部问题的全局解决方案”。
网络会话由 Windows 内核作为 smb 客户端驱动程序的一部分进行处理,因此它们是按 Windows 工作站(实际上不是用户)进行管理的,这意味着您无法使用两个不同的凭据访问同一共享,并且您可以'实际上,每个进程都创建一个新的网络连接windows smb 客户端施加的限制 http://support.microsoft.com/kb/938120。限制的原因是 Microsoft 将共享访问实现为过滤器驱动程序,共享访问的每个 UNC 路径 (\share\test) 都存储为共享资源,以使开发人员和用户的生活更加轻松。 (使共享访问无缝)
一个简单的例子是在提升的(以管理员身份运行)命令提示符下运行 net use 并尝试在未提升的上下文中访问它。
你可以选择任何一种方式:
- use samba https://en.wikipedia.org/wiki/Samba_(software)/你的软件中的另一个用户层 smb 实现(有一些基于 python 的)
- 创建一个新的温站 https://msdn.microsoft.com/en-us/library/windows/desktop/ms687105(v=vs.85).aspx对于每个进程(这有很大的开销)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)