how to run iisexpress app pool under a different i

2019-01-08 21:57发布

is there a way to run iisexpress app pool under a different identity other than the currently logged in user?

I am getting around this problem using the "runas" command currently but I would like to know if there is something built-in to iisexpress that I can utilize.

5条回答
戒情不戒烟
2楼-- · 2019-01-08 22:09

I wonder if this really works - IIS Express seems to run all application pools in the same process - and that process is executed in the context of the current user...?

Seems the "Run as" option could work, but that would require us to launch IIS Express from the command line (or build event) instead of relying on Visual Studio starting it up. :(

查看更多
疯言疯语
3楼-- · 2019-01-08 22:11

Runas /netonly IISExpress.exe from command line does work and is very viable if you're as desperate for an answer as we were. Related post

查看更多
手持菜刀,她持情操
4楼-- · 2019-01-08 22:19

It looks like this should be possible. In your IIS Express site's applicationhost.config file, there is a <processModel/> element defined in <applicationPoolDefaults> under <applicationPools>

The <processModel> element has attributes for userName and password.

From MSDN:

Specifies that ASP.NET will run the worker process with a Windows identity that is different from the Windows identity for the default process identity. By default, this attribute is set to the Machine, and the process runs under a user account named ASPNET that is created automatically when ASP.NET is installed. The password for the ASPNET account is cryptographically generated at the time of installation. If valid credentials are presented in this attribute and the password attribute, the process is run with the given account.

This should allow you to run the site under different credentials from the logged in user.

查看更多
地球回转人心会变
5楼-- · 2019-01-08 22:19

I could not get the above solution to work and I wanted to be able to debug through Visual Studio while running IIS Express under different credentials.

  1. Open the command prompt using "Run as administrator" (you need elevated privileges)
  2. Navigate to the directory of Visual Studio in the command prompt (in my case: "cd C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE" for VS2010).
  3. runas /netonly /user:[domain]\[userid] devenv.exe
  4. Open your solution from VS and complete your TFS credentials (if applicable).

You can now debug as normal under IISExpress (assuming this is how you have your project configured) under the run as credentials. This is great if you need to use integrated security for database connections or something similar but need to use different credentials.

查看更多
在下西门庆
6楼-- · 2019-01-08 22:30

"runas" is only the solution. IIS Express maynot respect processModel settings which are defined in applicationhost.config file.

查看更多
登录 后发表回答