我将回答我自己的问题,因为我成功设置了服务器。这就是我所做的:
1) 在所有三台服务器上创建一个具有相同用户名和密码的帐户。确保不会过期或必须更改。
2) 创建网络共享并赋予新帐户读/写权限。我还测试了我可以使用新帐户从前端服务器进行连接,以验证没有防火墙阻碍。
3) 将用户包含在 IIS_IUSRS 组中,间接为其授予“作为批处理作业登录”权限。
4) 运行以下命令授予用户权限
aspnet_regiis -ga <your_app_pool_user>
查看更多:How To: Create a Service Account for an ASP.NET 2.0 Application (MSDN)
5) 重新启动 WAS 和 IIS 以确保在尝试使用帐户时对帐户组成员身份的更改生效。
C:> net stop was /y
C:> net start w3svc
6) 创建应用程序池并设置标识。
这是我在尝试设置身份时遇到错误消息的部分。
在 IIS 管理器中,我收到以下错误对话框:“执行此操作时出错。详细信息:值不在预期范围内。”
尝试从命令行设置应用程序池标识我收到类似的错误:
C:> appcmd set config /section:applicationPools
/[name='test-pool'].processModel.identityType:SpecificUser
/[name='test-pool'].processModel.userName:MyAccountName
/[name='test-pool'].processModel.password:P@ssw0rd
ERROR ( hresult:80070057, message:Failed to commit configuration changes.
The parameter is incorrect.
)
当我删除最后一个参数密码时,该命令将成功更改身份类型并设置用户名,但我不知道为什么我无法设置密码,所以我反驳说编辑我的 applicationHost.config em> 文件。不幸的是,密码以明文结尾。
<configuration>
...
<system.applicationHost>
<applicationPools>
...
<add name="test-pool" managedRuntimeVersion="v4.0">
<processModel identityType="SpecificUser"
userName="MyAccountName" password="P@ssw0rd" />
</add>
...
</applicationPools>
...
</system.applicationHost>
...
</configuration>
7) 最后,我将我的 Web 应用程序设置为使用该应用程序,它可以毫无问题地访问网络共享。