我想Interop.SourceSafeTypeLib 5.2.0.0
在 SourceSafe 8 上打开一个源安全数据库。
这应该发生在“网络服务”帐户下运行的服务器服务中。服务器服务应该使用互操作来打开 ss 数据库。但是,数据库位于另一台服务器上,因此 ss 必须访问网络共享。所有这些都应该在客户端的身份下完成,因此涉及到双跳问题。
现在,我设法使用 kerberos 模拟服务器服务,WindowsIdentity.ImpersonationLevel
拥有Delegation
. 有了这个,我可以ss.ini
在远程共享中读取File.ReadAllText
.
我认为这应该足以使 sourcesafe 互操作运行,就好像它在配置为在客户端帐户下运行的服务中运行一样。但是,我错了,我仍然得到“无法打开数据库”。(如果我真的尝试将服务器服务设置为在客户的帐户下运行,它运行良好。)
我在这里想念什么?