web-dev-qa-db-ja.com

別のIDでiisexpressアプリプールを実行する方法

現在ログインしているユーザー以外のIDでiisexpressアプリプールを実行する方法はありますか?

現在、「runas」コマンドを使用してこの問題を回避していますが、利用できるiisexpressに組み込みのものがあるかどうか知りたいです。

32
theKing

これは可能なはずです。 IIS Expressサイトのapplicationhost.configファイルでは、<processModel/>の下に<applicationPoolDefaults>で定義されている<applicationPools>要素があります。

<processModel>要素には、userNameおよびpasswordの属性があります。

から [〜#〜] msdn [〜#〜]

ASP.NETが、既定のプロセスIDのWindows IDとは異なるWindows IDでワーカープロセスを実行することを指定します。デフォルトでは、この属性はMachineに設定されており、ASP.NETのインストール時に自動的に作成されるASPNETというユーザーアカウントでプロセスが実行されます。 ASPNETアカウントのパスワードは、インストール時に暗号で生成されます。この属性とパスワード属性に有効な資格情報が提示されている場合、プロセスは指定されたアカウントで実行されます。

これにより、ログインしたユーザーとは異なる資格情報でサイトを実行できるようになります。

29
Adam Price

上記のソリューションを機能させることができず、別の資格情報でIIS Expressを実行しているときにVisual Studioからデバッグできるようにしたいと考えました。

  1. 「管理者として実行」を使用してコマンドプロンプトを開きます(管理者特権が必要です)
  2. コマンドプロンプトでVisual Studioのディレクトリに移動します(私の場合: "cd C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\Common7\IDE" for VS2010))。
  3. runas/netonly/user:[ドメイン]\[ユーザーID] devenv.exe
  4. VSからソリューションを開き、TFS資格情報を入力します(該当する場合)。

資格情報として実行すると、IISExpressで通常どおりデバッグできます(これは、プロジェクトの構成方法であると想定しています)。これは、データベース接続などに統合セキュリティを使用する必要があるが、異なる資格情報を使用する必要がある場合に最適です。

7
Glade Mellor

「runas」は唯一の解決策です。 IIS Expressは、applicationhost.configファイルで定義されているプロセスモデル設定を尊重しない場合があります。

5
vikomall

コマンドラインからRunas/netonly IISExpress.exeは機能し、私たちがそうであったように、あなたが答えを求めているなら、非常に実行可能です。 関連記事

1
Beej

これは本当に機能するのでしょうか-IIS Expressはすべてのアプリケーションプールを同じプロセスで実行しているようです-そのプロセスは現在のユーザーのコンテキストで実行されます...?

「別のユーザーとして実行」オプションは機能すると思われますが、Visual Studioの起動に依存する代わりに、コマンドライン(またはビルドイベント)から起動するIISを起動する必要があります。:(

0
Ted Nyberg