私はASP.netアプリケーションでグローバルエラーハンドラーをセットアップしました。これまで、Log4NetとRollingLogFileAppenderを使用してきちんと機能していました。
Windows 2008サーバーでIIS 7にアップグレードしている最中です。ログを機能させることができません。エラーが発生しているようですが、ASP.netはできません。指定したフォルダーへの書き込みに必要なアクセス許可を持っています。これで、通常、ASPNETユーザーに完全な権限を与えて、それで完了しますが、ユーザーアカウントはもう存在しません。また、 "Everyone"ユーザーを見つけることができません新しいユーザーアカウントの作成、なりすましの設定などに騙されたくありません。簡単な解決策はありますか?
IIS6およびIIS7では、ASP.NETのASPNETユーザーと同等のものがアプリケーションプールIDユーザーです。デフォルトでは、それはIIS7のNETWORK SERVICEであり、IIS 7.5+)のアプリケーションプールIDです。そのユーザーにディスクへのアクセス許可を付与すると、機能します。
「より良い」方法は、アプリプールごとにカスタムユーザーを作成し、それらにディスクへのアクセス許可を割り当てて、サイトを互いに分離し、ネットワークサービスを使用するサーバー上の他のアプリケーションがサイトのコンテンツにアクセスできないようにすることです。 。しかし、それはあなたがあなたの状況で行う必要がある判断の呼びかけです。
関係する他のユーザーは、サイトの匿名ユーザーまたは認証済みユーザーです。これは、サイトの認証->匿名セクションで定義されています。 IIS7では、プールごとに1つのサイトしかない場合、またはアプリプール内の各サイトが互いに非常に信頼できる限り、アプリプールIDを使用するように設定することをお勧めします。次に、ディスク上に1人のユーザーを維持するだけで済みます。
私の場合、NETWORK SERVICE
に権限を付与するだけでは不十分でした。 IUSR
ユーザーとIIS_IUSRS
の権限も追加する必要がありました。
「アクセス拒否」エラー(Windows Webサーバー2008 + + IIS 7セットアップ)のいずれか)の1つを、以下の指示に従って解決できました。
これが今日まで正しい方法であるかどうかはわかりませんが、私にとってはうまくいきました。
これがあなたにとってどんなユーザでもあることを願っています。