gpt4 book ai didi

c# - 同步框架 - 跨域文件同步

转载 作者:太空宇宙 更新时间:2023-11-03 16:00:55 24 4
gpt4 key购买 nike

我正在尝试跨域进行单向目录同步(不信任)。理想情况下,我想使用现有的同步框架,如 Microsoft Sync Framework 2.1,但不知道如何正确设置身份验证。我认为我需要使用 NTLM 传递身份验证(描述 here ),但初始测试未显示成功。

我正在处理的代码看起来与此类似(基于 MSDN 示例):

SafeTokenHandle safeTokenHandle;
bool returnValue = LogonUser("xfrtest", ".", "password", 8, 2, out safeTokenHandle);
using (WindowsIdentity newId = new WindowsIdentity(safeTokenHandle.DangerousGetHandle()))
{
using (WindowsImpersonationContext ctx = newId.Impersonate())
{
sourceProvider = new FileSyncProvider(
sourceReplicaRootPath, filter, options);
destinationProvider = new FileSyncProvider(
destinationReplicaRootPath, filter, options);

SyncOrchestrator agent = new SyncOrchestrator();
agent.LocalProvider = sourceProvider;
agent.RemoteProvider = destinationProvider;
agent.Direction = SyncDirectionOrder.Upload;

sourceProvider.DetectChanges();
destinationProvider.DetectChanges();

var results = agent.Synchronize();
}
}

我在两台机器上本地设置了“xfrtest”帐户,密码相同。登录适用于源系统(我也在其上运行代码)但在目标上失败。

所以问题是……首先,是否可以使用 Sync Framework 来做到这一点?如果是这样,我通过直通接近它是错误的吗?如果没有,有什么好的替代方案建议吗?

最佳答案

事实证明,这段代码确实有效。我的问题是我在其中测试的非生产域具有信任,这导致 Windows 无法回退到 NTLM 传递身份验证。当我设置没有信任或非域计算机的域时,这有效。

关于c# - 同步框架 - 跨域文件同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21472546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com