2011-09-12 5 views
2

私は私のビジネスのために開発した内部WebページからWindowsエクスプローラを開く(または少なくともディレクトリの内容を表示する)手段を提供したいと思います。内部ネットワーク上で複数のマシンが共有されています。 DBテーブルの特定の行に関連付けるフォルダパスをユーザーが入力できるようにするためのテキスト入力フィールドを用意しました。この情報を保存して、file://///10.10.5.10/Recipes/PieのPieレシピフォルダへのリンクを作成することができます。共有マシン。リンク経由でWindowsエクスプローラを開きます

リンクが正しくページ上にレンダリングされ、リンク情報をコピーしてアドレスバーに貼り付けると、IEを使用している場合はFireFoxでナビゲート可能なページが表示されます。

ただし、自分のページで直接リンクをクリックしてもリンクは何もしません。私はこれがセキュリティとブラウザーと何か関係があるのではないかと疑っていますよね? でしたが、私はSharePointとブラウザのウェブページのいくつかの違いに関係していると思います。リンクを右クリックして別のタブにコピーして貼り付けるという回避策がありますが、私はこれで生きなければならないかもしれませんが、誰かがこの問題に対処するための提案や方法を持っているのだろうかと思っていました。多分私は何か間違っていると思うかもしれませんが、私はそれがブラウザセキュリティに関係していると確信しています。

+1

動作を再現する非常に単純な(静的な)HTMLの例を提供できますか?どのブラウザですか? – Yahia

+0

@ Yahia、リンクをクリックするだけで非常に単純なHTMLを作成し、エクスプローラからダブルクリックすればIEで開き、リンクをクリックするとWindowsエクスプローラを開くかどうかを確認するよう求められます。私はASP.NET MVCで行ったWebページでこの動作を取得しません。 – itsmatt

+0

これは間違いなくブラウザセキュリティの問題です...あなたのASP.NETアプリケーションはどのゾーンですか? – Yahia

答えて

1

純粋なInternet Explorerの設定問題として私のように思えます。

まず、IPアドレスの代わりにサーバーのパスにUNCまたはDNS名を使用することをお勧めします。file://///10.10.5.10/Recipes/Pieの代わりにfile://///myserver/Recipes/Pieまたはfile://///myserver.mydomain.com/Recipes/Pieを使用してください。

第二に、あなたがより良い「ローカルイントラネット」または少なくとも「信頼済みサイト」ゾーンにまでfile://///myserverfile://///myserver.mydomain.comあるいはfile://///10.10.5.10/を含める必要があります。

enter image description here

次に[セキュリティの設定を確認する必要がありますURLをマップするゾーン。あらゆる試みで

enter image description here

enter image description here

は、あなたが「プロンプト」警告が表示されます設定した希望の場合:「混合表示含まれている」ため、「その他」のグループを見てくださいリンクを開くには

問題がある場合は、[詳細設定]タブのIE設定をリセットすることをおすすめします。

enter image description here

1

おそらく許可の問題です。 ASP.netはASP.netプロセスアカウントで実行されます。 ASPNETユーザーを探し、問題のユーザーのフォルダにアクセス許可を適用します。

+0

Soこれは私が実行する必要がある "各フォルダーごとの"アクションでしょうか? – itsmatt

1

確かにセキュリティ上の問題のようです。次のいずれかまたは両方を試してみてください。

  • アプリケーションに上の完全な信頼を与え、これは小さなイントラネットアプリケーションである場合は、クライアントのマシン
  • 上のエクスプローラにアクセスするための十分な権限を持つドメインユーザーを偽装する偽装を使用してみてくださいクライアント

は、ここでは、偽装のために使用できるクラスへのリンクです - 私の答えを参照してください。

Invoke or call C# console app from C# web service?

+0

レスポンスありがとうございました。ジェームス - 私は偽装について何か読んで、これを行う必要があります。 – itsmatt

+0

私は午前中に偽装するためのクラスを掲示します(ほぼ2amここ)。 –

関連する問題