1

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 は影響を受けません。

4

1 に答える 1

1

ファイル サーバーと Web サーバーが同じマシンではない場合、ファイル サーバーをセットアップして、委任のために Web サーバーを信頼する必要があります。これにより、ファイル サーバーは、要求ごとに資格情報の再入力を求める代わりに、Web サーバーが認証した資格情報を信頼できるようになります。

于 2009-07-14T12:09:09.963 に答える