Windows認証で認証するwebdavを使用するプログラムがあるため、ユーザーはユーザー名とパスワードを入力する必要がありません。ドメインを移行するまで、これはうまくいきました。現在、接続に使用されていたコードはエラー コード 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 は影響を受けません。