2011-01-27 17 views
0

私のプログラム(C++で書かれている)からuncサーバー(\ blablub \ share)に接続しています。今、私はWNetUseConnection関数を使用してサーバーに接続しています。今私はプログラムへのアクセスを制限したい。今は、接続が確立された後にエクスプローラを使用してuncサーバにアクセスすることができるからです。しかし、私はプログラムへのアクセスのみを制限したい(特にファイル書き込み操作の場合)。それ、どうやったら出来るの?プログラムへのuncサーバーへのアクセスを制限する

+1

WNetUseConnectionを使用しないでください。UNC名( '\\ blablub \ share \ filename.txt')で共有上のファイルを参照してください。別のユーザーアカウントを偽装すると、ユーザーの操作が遅くなる可能性があります。 –

答えて

1

WNetAddConnection3を使用し、NETRESOURCE::lpLocalNameを0のままにします。これは、WNetUseConnectionの重い作業ですが、ドライブ文字を追加しません。したがって、プログラムではまだ\\Server\Share\Fileの名前を使用する必要があります。

プログラム終了時にWNetCancelConnection2を忘れないようにしてください。もちろん、あなたのプログラムが動いている間、接続が存在します。それは意図的です。セキュリティはプログラムレベルではなくユーザーレベルで機能します。実際にこれを望まない場合は、WNetAddConnection3で使用するユーザーアカウントを偽装する必要があります。

+0

よろしくお願いします。 –

関連する問題