2

フォーム認証を使用してアカウントを認証する ASP.NET (3.5) アプリケーションがあります。ログオン フォームでは、LogonUser を使用して Windows ログイン トークンも取得します。これを使用して、プライベート ディレクトリを閲覧するためにログオン ユーザーになりすます (ファイルは GridView に表示され、データがバインドされる直前にユーザーが偽装されます)。仮想ディレクトリでユーザーを偽装する必要があることも知りました。仮想ディレクトリが読み込まれる直前、または Windows 認証に切り替えずにアプリケーション全体で偽装する方法はありますか?

4

1 に答える 1

2

単一のタスク (ネットワーク リソースへのアクセスなど) を実行するだけの場合は、そのような目的のために作成した既存の AD アカウントをコード内で呼び出すのが好きです。

http://support.microsoft.com/kb/306158にある例をヘルパー クラスに抽象化するのが好きです。これにより、このようなことができるようになります...

helperImpersonate hI = new helperImpersonate();

if (hI.impersonateValidUser("ADUSERNAME", "DOMAIN", "PASSWORD"))
{

   //DO STUFF HERE...  

    hI.undoImpersonation(); //undo the impersoination
}//end if impersonate is true...
于 2009-06-09T21:04:16.870 に答える