我们有一个使用 webdav 的程序,通过 windows 身份验证进行身份验证,因此用户不必输入他们的用户名和密码。在我们迁移域之前,这工作正常。现在用于连接的代码返回错误代码 5(拒绝访问):
string psPassword =null, psUsername=null;
structNetResource stNetRes = new structNetResource();
stNetRes.iScope = 2;
stNetRes.iType = RESOURCETYPE_DISK;
stNetRes.iDisplayType = 3;
stNetRes.iUsage = 1;
stNetRes.sRemoteName = WebDAVServerpath;
stNetRes.sLocalName = null; //connect, but don't show drive in my computer
int iFlags = CONNECT_CMD_SAVECRED;
int i = WNetAddConnection2A(ref stNetRes, psPassword, psUsername, iFlags);
有谁知道如何解决这个问题?我试过跑步
int j = WNetCancelConnection2A(WebDAVServerpath, CONNECT_UPDATE_PROFILE, 0);
事先清除任何旧连接,但这不起作用。
(net use \\server.domain.com\share
现在运行会提示输入用户名和密码,而之前它会直接连接,所以它看起来像是与 Windows 身份验证有关。)
编辑 - 这是一个 WinForms 应用程序,IIS 和共享文件存储在同一台机器上。该问题仅出现在迁移的机器上;曾经(现在仍然)在我们领域之外的 PC 不受影响。