特定のフォルダ内のディレクトリとファイルを一覧表示しようとしています。このフォルダは、Windows認証(NTLM)によってログインし、Active Directory(homedirectory
プロパティ)から取得された現在のユーザー(Page.User)によって異なります。アクセスが拒否され、現在のユーザーがネットワークフォルダにアクセスしています
ADにアクセスしてフォルダの場所を取得するためにドメインユーザーを使用していますが、これは問題ありません。
偽装を行ってもSystem.IO.DirectoryInfo.GetDirectories()
を使用してサブフォルダを取得すると失敗します。私が偽装されているユーザーがフォルダへのアクセス権を持っていることを確認している
System.Security.Principal.WindowsImpersonationContext impersonationContext;
impersonationContext = ((System.Security.Principal.WindowsIdentity)User.Identity).Impersonate();
:
は、ここで私は、偽装のために使用しているコードです。
これまでのところ、委任またはKerberos認証を設定する必要があるようですが、これは本当ですか?これらを達成する唯一の方法はありますか?偽装は十分ではありませんか?
このStackoverflowの前の投稿を確認しましたか? http://stackoverflow.com/questions/2563724/accessing-password-protected-network-drives-in-windows-in-c/2563809#2563809 – MethodMan