2

ASP.NET/IIS(またはCassiniまたはIIS Express)アプリケーションを実行しているユーザーのアカウントについて質問しています。デフォルトについて質問しています。そこには非常に多くの混乱があります。グーグルは私に多くのタイプのユーザーを示します、例えば、

  • my-computer-name \ myname user、
  • IIS APPPOOL \ ASP.NET v4ユーザー、
  • IIS_WPG、
  • IIS_IUSRSユーザー、
  • ネットワークサービスユーザー、
  • AspNetユーザー、
  • IUSR_MachineNameユーザー、
  • IIS_IUSRSユーザー、
  • IUSRユーザー、
  • IIS_WPGユーザー、
  • IWAM_computernameユーザー、
  • IIS APPPOOL\DefaultAppPoolユーザー。

これらは非常に紛らわしいです。

4

2 に答える 2

3

カッシーニは、VSを開始したアカウントで実行されます。したがって、デフォルトは現在ログに記録されているWindowsユーザーであり、runasは特定のユーザーアカウントで実行されます。

IIS上のアプリケーションは、アプリケーションプールを使用して実行されます。これがデフォルトサイトからの抜粋です:

ここに画像の説明を入力してください

すべてのアプリケーションプールは、詳細設定を使用して構成できます。

ここに画像の説明を入力してください

また、偽装されたユーザーの下でコンテキストが実行される可能性のある偽装についても指摘する必要があります。このユーザーは、IISまたはコードを使用して提供できます。IISの偽装を構成する方法の例を次に示します(特定のアプリの[認証]タブ)。

ここに画像の説明を入力してください

お役に立てれば!

于 2012-12-19T09:19:46.443 に答える
2

1つは、実行しているWindowsのバージョンによって異なります。次に、3つの異なるサーバーについて質問しています。おそらくそれが混乱を招いているのでしょう。

開発サーバー

まず、最も簡単なのはカッシーニです。このサーバーは、起動元のVisual Studioインスタンスと同じアカウントで、同じ特権で実行されます。通常、これは自分のWindowsアカウントです。

IIS Expressは、IISとまったく同じコードベースを使用しますが、Visual Studio(またはWeb Matrix)を起動したのと同じアカウントである独自のWindowsアカウントでも実行されます。

IIS 6.0

さて、IISは適切です。ここには多くのアカウントがあります。まず、Windows Server2003マシンにまだある「古い」IIS6.0は、次のアカウントを使用します。

  • ネットワークサービスIIS 6.0以降のアプリケーションプールのデフォルトおよび推奨ワーカープロセスID
  • ローカルサービスかなり制限されたアクセス
  • ローカルシステム「IIS5.0分離モード」で実行しているときにワーカープロセスに使用され、管理者のメンバーであり、フルアクセス権があります
  • IIS_WPGワーカープロセスグループの略で、アカウントではなくグループです。最小限の必要なアクセス許可を取得するには、ワーカープロセスIDがこのグループのメンバーである必要があります
  • IUSR_ComputerNameワーカープロセスには使用されませんが、匿名の訪問者をWindowsアカウントにマップするために使用されます
  • IWAM_ {ComputerName}IIS 5.0分離モードの場合、最近は通常、分離にアプリケーションプールを使用します
  • ASPNET( IIS 5.0分離モードの場合も ASP.NETアカウントのように見えますが、ほとんどの場合、そうではありません

(このリストは、TechNetの記事IISおよび組み込みアカウント(IIS 6.0)に基づいています。)

IIS7以降

IIS 7の場合、上記のリストの一部は関連性がなくなり、一部は置き換えられます。これらのアカウントはWindowsに組み込まれているため、どこでも同じSSIDを持っており、時々便利です。

サーバーをWindows2003からWindows2008にアップグレードした場合、またはIIS 6.0互換機能または古いIISコンポーネントをインストールした場合、1台のマシンに古いアカウント新しいアカウントがある可能性があります。

  • IUSR(* IUSR_ {ComputerName}を置き換えるため、デフォルトで匿名ユーザーをマップするために使用されます*)
  • IIS_IUSRS(* IIS_WPGグループを置き換えるため、アカウントではなくグループ*)

(これは、IIS 7の組み込みユーザーおよびグループアカウントについての記事に基づいています。)

AppPool ID(IIS 7.0以降)

このリストはほぼ完成しましたが、特別なタイプのアカウント、つまり「動的な」AppPoolIDを理解する必要があります。これらは、他のアカウントのようにマシン上の実際のアカウントではありません。たとえば、Windowsでユーザーとしてリストされているアカウントを見つけることができません。ただし、ApplicationPoolIdentityオプションを選択した場合、これらはアプリケーションプール用にオンザフライで作成される仮想アカウントです。

このようなアカウントにファイルまたはフォルダーへのアクセス権限を付与する必要がある場合でも、IIS AppPool {DefaultAppPool}と入力してアカウントを検索できます({DefaultAppPool}を作成したアプリケーションプールの名前に置き換えます)。

(これについて詳しくは、iis.netのアプリケーションプールIDを参照してください。)

.NET 4.0をインストールすると、IISは新しいアプリケーションプールを追加して、既存の.NET2.0Webアプリケーションと一緒に新しい.NET4.0Webアプリケーションを実行できるようにします。インストーラーは、このアプリケーションプールにASP.NET v4.0という名前を付け、オプションApplicationPoolIdentityを使用します。したがって、この新しいアプリケーションプールを使用するかどうかに関係なく、動的アカウントが作成されます。

于 2012-12-23T21:07:14.203 に答える