Windowsエクスプローラでファイル共有を開くためにC#コードでユーザーを偽装しようとしています。しかし、それは働いていません!私のコードは以下の通りです。私はこのサイトから偽装を行うためのコードを使用していますASP.NET偽装ファイル共有を開くには
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認証を使用していますので、それは考えていますか?
私が偽装しているアカウントは、ドメインアカウントであり、ファイル共有に完全なアカウントを持っています。
ADDITIONALを助けてください:
また、私はこのコードを使用してみましたが、それはうまくいきませんでした。 "アクセス拒否"エラーが発生しました
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);
このファイルサーバー側を処理する予定ですか? (その場合はSystem.IOを使用する必要があります)またはクライアント側(これは珍しいシナリオの一種で、JScriptとActiveXオブジェクトを使用します。すべてのマシンで実行されず、多くのセキュリティ警告が発生します) – MatthewMartin
すべて私がしたいのは、フォルダにウィンドウを開いてフォルダにファイルを追加できるようにすることです。 –
'window.open'が動作するようにすべてのセキュリティを無効にできたとしても、エクスプローラウィンドウは開きませんでした。あなたが指定したフォルダを参照するだけで、あなたの借り手にファイルのリストが表示されます。それでおしまい。ファイルをコピーすることはできませんでした。 –