我需要配置两个需要访问两个不同网络文件夹的网站(例如website1
需要访问X:/netfolder1/
和website2
需要访问X:/netfolder2/
)
我读过以下两篇文章:
https://learn.microsoft.com/en-us/iis/manage/configuring-security/application-pool-identities
和
内容如下:
应用程序池标识允许您在唯一帐户下运行应用程序池,而无需创建和管理域或本地帐户>
假设我创建了两个应用程序池:website1
和website2
然后我需要将每个用户添加到匹配的网站的文件夹用户并赋予其正确的权限(添加到IIS AppPool\web1
web1 文件夹和
IIS AppPool\web2
web2 文件夹)
它有效并且每个网站都运行。两者都使用ApplicationPoolIdentity
但是现在每个网站需要访问不同的网络文件夹的部分是有问题的,因为文章还说:
好消息是,应用程序池标识也使用机器帐户来访问网络资源。无需进行任何更改。
因此,如果我理解正确的话,这意味着我需要在网络文件夹中将计算机名称添加到用户列表中并授予其我想要的权限。但在这种情况下,我无法区分网站,因为两个网站都使用相同的权限ApplicationPoolIdentity
,因此如果我授予一个网站对某个文件夹的访问权限,则所有使用该网站的网站ApplicationPoolIdentity
都将有权访问该文件夹。
但后来我想我可以创建另一个自定义ApplicationPoolIdentity
,但意识到这是不可能的,因为只有一个内置身份。
如果我想添加另一个身份,它将是一个自定义帐户,如第二篇文章中所示。
但它与第一个说法相矛盾,我可以
在唯一帐户下运行应用程序池,而无需创建和管理域或本地帐户
因为自定义帐户是真实帐户,在我的情况下是域帐户。因为通过创建 2 个不同的域帐户,我可以通过网络将每个帐户分配给不同的文件夹。
或者,有没有办法只ApplicationPoolIdentity
在分离网络文件夹访问权限时使用?或者ApplicationPoolIdentity
只是默认身份,我不能指望将它用于所有事情,就像Default Website
?
答案1
你想做的事是不可能的。
您可以在同一系统上拥有不同的 ApplicationPoolIdentities;但是当访问另一台计算机时,它们都将显示为同一个计算机帐户。
您需要使用两个域用户帐户或两个托管服务帐户;它们都必须在您的 AD 域中创建。