web-dev-qa-db-ja.com

Windows 2008サーバー上のIIS 7のASP.Netユーザーアカウント権限

私はASP.netアプリケーションでグローバルエラーハンドラーをセットアップしました。これまで、Log4NetとRollingLogFileAppenderを使用してきちんと機能していました。

Windows 2008サーバーでIIS 7にアップグレードしている最中です。ログを機能させることができません。エラーが発生しているようですが、ASP.netはできません。指定したフォルダーへの書き込みに必要なアクセス許可を持っています。これで、通常、ASPNETユーザーに完全な権限を与えて、それで完了しますが、ユーザーアカウントはもう存在しません。また、 "Everyone"ユーザーを見つけることができません新しいユーザーアカウントの作成、なりすましの設定などに騙されたくありません。簡単な解決策はありますか?

4

IIS6およびIIS7では、ASP.NETのASPNETユーザーと同等のものがアプリケーションプールIDユーザーです。デフォルトでは、それはIIS7のNETWORK SERVICEであり、IIS 7.5+)のアプリケーションプールIDです。そのユーザーにディスクへのアクセス許可を付与すると、機能します。

「より良い」方法は、アプリプールごとにカスタムユーザーを作成し、それらにディスクへのアクセス許可を割り当てて、サイトを互いに分離し、ネットワークサービスを使用するサーバー上の他のアプリケーションがサイトのコンテンツにアクセスできないようにすることです。 。しかし、それはあなたがあなたの状況で行う必要がある判断の呼びかけです。

関係する他のユーザーは、サイトの匿名ユーザーまたは認証済みユーザーです。これは、サイトの認証->匿名セクションで定義されています。 IIS7では、プールごとに1つのサイトしかない場合、またはアプリプール内の各サイトが互いに非常に信頼できる限り、アプリプールIDを使用するように設定することをお勧めします。次に、ディスク上に1人のユーザーを維持するだけで済みます。

3

私の場合、NETWORK SERVICEに権限を付与するだけでは不十分でした。 IUSRユーザーとIIS_IUSRSの権限も追加する必要がありました。

3
German Latorre

「アクセス拒否」エラー(Windows Webサーバー2008 + + IIS 7セットアップ)のいずれか)の1つを、以下の指示に従って解決できました。

  • フォルダ-右クリック-[セキュリティ]タブ
  • 「詳細」ボタンをクリックします
  • 「許可」タブで「編集...」ボタンをクリックします。これにより、ユーザー/グループオブジェクトを追加する機能を持つ別のダイアログが表示されます。
  • [追加...]をクリックすると、ユーザー/グループオブジェクトを追加するための既知のインターフェイス(以前のバージョンのWindowsで利用可能)が表示されます。
  • NETWORK SERVICEを見つけて適切な権限を設定すると、完了です。

これが今日まで正しい方法であるかどうかはわかりませんが、私にとってはうまくいきました。

これがあなたにとってどんなユーザでもあることを願っています。

0
Gaurav