非域 IIS 使用域用户作为 AppPool 身份?

sli*_*les 5 iis-7

有没有办法让非域计算机(本例中为 Windows 7 开发虚拟机)上的 IIS7 使用域帐户作为 AppPool 身份?我可以输入凭据(域/用户名等),但随后 AppPool 会抛出一个有关该帐户没有“批量登录权限”的错误。

我无法通过谷歌找到任何东西来帮助我解决这个问题,所以我认为这可能是不可能的。

mbr*_*nyc 2

在我看来,这几乎是不可能的。“加入域”在计算机(对象)和域(服务)之间创建基于信任的关系。

例如,调整用户权限的最简单方法是利用本地安全策略(安全设置/本地策略 mmc snapin)。

但你可以使用ntrights.exe. 我这里有一个域,但测试类似的情况很容易:

我在电脑上。我在 COMPUTERB 上创建了一个帐户 dummyuser (又名用户是computerb\dummyuser)

当我跑步时:

NTRIGHTS +r SeBatchLogonRight -u computerb\dummyuser

我收到一个错误:

Granting SeBatchLogonRight to computerb\dummyuser ... failed (GetAccountSid(computerb\dummyuser)=1332

C:\>net helpmsg 1332返回:No mapping between account names and security IDs was done.

这很简单。即使以域管理员用户身份运行(因此,该用户本质上是computerb 上本地管理员组的一部分),我正在执行操作的凭据也不会通过。

测试这一点的一个好方法很简单......在您的虚拟机上运行:

runas /user:domain\administrativeuser cmd.exe

我预计这会失败,1326: Logon failure: unknown user name or bad password,因为本地计算机不知道domain是什么,并且/所以它绝对不值得信赖。

这一切的真正含义是,无论您是否获得其中的条目,本地计算机在尝试任何操作时都不会也不会知道用户是谁,除非它可以根据数据库验证该用户是(您的域的 AD)的一部分。

我想看看其他人是否有解决方案。

  • 实际上,使用“runas /netonly ...”我可以在非域计算机上以域用户身份运行程序。它显示一个命令提示符,询问我域用户的密码,一旦我输入密码,它就会启动该程序。这就是为什么我认为这可以通过 IIS 实现。 (2认同)
  • @sliderhouserules `/netonly` 之所以有效,是因为它实际上利用了本地 `guest` 用户。由于 IIS 应用程序池需要具有特定权限的真实用户,因此来宾根本无法工作。我发现做你正在做的事情的唯一方法是创建一个与域用户具有相同名称和密码的本地用户,并希望它能起作用。 (2认同)