2011-02-02 13 views
0

IIS7の共有ホスト上で実行されるAsp.Net MVCアプリケーションがあります。アプリケーションは、デフォルトのMembershipProviderでフォーム認証を使用します。私は私のページの1つに次のコードを書いています。ユーザーがログオンしたときにIIS7 Environment.UserNameが異なる

@Environment.UserDomainName - @Environment.UserName 

私はそれを示し匿名ユーザーとしてサイトを参照してください: - WSWB12私がログインしてるかの間IUSR_139 :WORKGROUP - WSWB12 $

問題がIUSRアカウントが書き込みアクセスをしているということです私のフォルダに。したがって、ユーザーがログインしているときは、ファイルをアップロードすることはできません。

これについて何かできますか? - 私は統合モードをとどめたいと思っています。 - なりすましをするのは大丈夫です。しかし、私のホストがmachine.configのそのセクションを見ているようです。 - 私のホストが仮想ディレクトリに設定して、常にIUSRを使用できるようにする設定はありますか?

あなたが提供できるヘルプがあれば、偉大です。

+0

偽装しようとするとどのようなエラーが発生しますか? –

+0

web.configに偽装セクションを追加しようとしたとき、セクションがmachine.configでロックされているというエラーが表示されました。 –

答えて

0

フォーム認証を使用すると、あなたがアプリケーションプールIDを確認する必要があります...ユーザー名にアクセスするために

HttpContext.Current.User.Identity.Name 

を使用する必要があります。正しい特権を持つかもしれないあなたの選択したユーザーにそれを設定することができます。

+1

重要なのはログインしたユーザーの名前ではありません。これはIOアクセスを制御するアプリケーションの下で実行されるアカウントの名前です。この場合、Environment.UserNameは正しいです。 –

+0

ああ、私の悪い...私は質問を間違って解釈した... –

+0

問題はありません。お試しいただきありがとうございます –

関連する問題