2012-04-16 21 views
0

テキストファイルを書き込む必要があるイントラネットアプリケーションがあります。そのテキストファイルはネットワーク共有フォルダに保存する必要があります。私はUNC名 "\\ fileserver \ subfolder \ TEST.txt"を介してアクセスしていますが、もちろん恐ろしい "Access to path denied"エラーが発生しています。ASP.NETイントラネットWebサイトテキストファイルをネットワークフォルダに書き込む

イントラネットWebサイトがIIS 6上で動作しています。イントラネット上に、Request.ServerVariables ["AUTH_USER"]を使用してログオンしたユーザーのアカウントにアクセスできる別のアプリケーションがあります。サイトへの匿名アクセスを有効にすると、これが機能しないことがわかりました。私は統合Windows認証を使用しています。 Webアプリケーションのネットワーク共有フォルダへの書き込みアクセスを有効にするにはどうすればよいですか?私は私の他のアプリを壊すことなく偽装を使用することはできないと思っています。他のアプリに影響を与えない私のサイトのこの部分(フォルダ)に何かをすることはできますか?

私はこれを動作させるために書きたいと思っているネットワークフォルダのフォルダ設定やIISで何をするかを段階的に行う必要があります。

+0

iisでは、ネットワーク共有を指し示す仮想フォルダを作成し、ログインのために異なる資格情報を使用します。次に、ローカルにあると思われるそのフォルダにアプリケーションを読み書きさせます。 –

答えて

0

ハックのビットの種類は、ファイルに書き込むコードの一部を偽装することです。私。ファイルに書き込むための十分な権限を持つユーザーに切り替えます。

あなたは例えばのように、これを行うために使用することができ、小さなImpersonator helper classがあります:

... 
using (new Impersonator("myUsername", "myDomainname", "myPassword")) 
{ 
    ... 

    <code that executes under the new context> 

    ... 
} 

... 

このアプローチの欠点は、内部コード内でハードコードされたかのどちらか、あなたがどこかのユーザ名とパスワードを保存する必要があるということです例えばあなたのweb.configファイル。両方のことがセキュリティの観点から悪いことがあります。

+1

Uwe Keimありがとうございます。これで私は正しい道を歩み始めました。 私のファイルの周りにこのようなコードを書こうとしました: – user1337091

+0

@ user1337091あなたは歓迎です:-) –

関連する問題