在服务器上安装应用程序。它在server2上调用web服务。该服务的端点是在server3上写一个pdf文件。
作为开发人员在我的笔记本电脑上开发它可行。作为已部署的应用程序,它在写入时失败。
IIS6,Windows 2003服务器以及VS2008
AppPool Identity作为网络服务不会写入文件。如果我在AD中使用“假”用户,则应用程序不会提取任何数据,也无法正常启动。
有什么想法吗?
TIA
答案 0 :(得分:0)
我的猜测是,在server2上运行应用程序的凭据对server3没有写入权限(假设server2使用UNC路径写入server3上的文件系统)。
在Server2上运行IIS应用程序池(或者将凭据分配给您的应用程序)的用户帐户需要对server3上的共享/ UNC路径进行写访问;通常这意味着您无法使用NetworkService。
如果在server2上的IIS中更改用户帐户,则需要考虑现有用户帐户(假设NetworkService)在server2上具有的所有隐含权限。 包括Filesystem,Registry,Metabase等权限;列表可能很长很复杂或很短且无关紧要(取决于您在servers1 / server2 / server3上的实现)。
对于我的所有实现,我们使用指定为服务帐户的AD用户帐户;如果服务器上的权限非常有限,则每个应用程序都有自己的服务帐户,任何触摸点都需要应用显式权限。因此,将在Server2上为应用程序设置帐户,并在Server2上配置显式权限以运行应用程序,并且将明确应用Server3上的UNC路径/共享和NTFS权限进行文件传输。
希望这有帮助。