0

C# コードでユーザーを偽装して、Windows エクスプローラーでファイル共有を開こうとしています。しかし、それは機能していません! 私のコードは以下です。

Impersonator i = new Impersonator();

using (new Impersonator("userA", "domainA", "pa$$word", LogonType.LOGON32_LOGON_INTERACTIVE, LogonProvider.LOGON32_PROVIDER_DEFAULT))
{
    Process.Start(@"c:\windows\explorer.exe", @"\\fileshare\abc");
    Response.Write("Impersonated User: " + WindowsIdentity.GetCurrent().Name + "<br />"); 
    Response.Write("Logon User: " + Request.ServerVariables["LOGON_USER"] + "<br />"); 
    Response.Write("Authenticated User: " + Request.ServerVariables["AUTH_USER"] + "<br />") 
}

私はこのサイトからのなりすましを行うためにコードを使用しています:

http://platinumdogs.wordpress.com/2008/10/30/net-c-impersonation-with-network-credentials/

Windows認証を使用しているため、ログオンと認証が私のWindowsログインであるためだと思いますか?

私が偽装しているアカウントはドメイン アカウントであり、ファイル共有への完全なアカウントを持っています。

助けてください

追加:

このコードも使用してみましたが、うまくいきませんでした。「アクセスが拒否されました」というエラーが表示されました

string target = "'_blank'";
string script = "window.open(" + @"'file://fileshare/abc'" + "," + target + "," + "'status=no, menubar=yes, toolbar=yes');";
Page.ClientScript.RegisterStartupScript(this.GetType(), "someUniqueId", script, true);
4

1 に答える 1

1

asp.net ワーカー プロセスから Explorer を起動することはできません。Explorer は、表示するために WindowStation を必要とする GUI アプリケーションです。

「動かない」とは、ウェブページに行ってもエクスプローラーが開かないということですか?

于 2012-04-06T18:49:52.237 に答える