设置对虚拟目录的权限
出于安全原因,后台智能传输服务 (BITS) 不会将文件上传到启用了脚本和执行权限的虚拟目录。 如果将文件上传到启用了这些权限的虚拟目录,作业将失败,错误代码为 BG_E_SERVER_EXECUTE_ENABLED。
BITS 不需要启用虚拟目录写入,因此建议关闭对虚拟目录的写访问。
经过身份验证的用户 (或 IIS 的匿名用户进行匿名身份验证) 必须对虚拟目录映射到的物理目录具有“更改”权限;授予写入权限是不够的。
指定通知的权限
为虚拟目录和通知 URL 指定的身份验证方案 (查看 BITSServerNotificationURL 属性) 必须兼容。 BITS 使用为虚拟目录指定的身份验证方案来访问通知 URL。 如果 BITS 由于身份验证失败而无法访问通知 URL,则上传作业会失败。
如果通知类型 (看到 BITSServerNotificationType 属性) 引用,则应用程序必须确保用户有权访问引用的文件, (查看 BITS-Request-DataFile-Name 标头) 。 BITS 将引用的文件上的 ACL 设置为虚拟目录映射到的物理目录的 ACL。
注意
即使通知 URL 由与物理上传目录位于不同的计算机上的 Web 服务器提供服务,通知应用程序也必须能够映射和访问远程文件。 BITS-Request-DataFile-Name 标头始终包含相对于托管 BITS 扩展组件的计算机的路径规范。 在另一台计算机上运行的应用程序可能需要先将该路径转换为 UNC 路径,然后才能访问它。
BITS 支持多种身份验证方案组合。 但是,应对虚拟目录和匹配的通知 URL 使用以下身份验证方案。
若要通过引用通知提供支持,应将虚拟目录配置为使用 NTLM (协商) 身份验证,前提是物理上传目录 (虚拟目录指向的目录) 使用匿名身份验证方案。 如果物理上传目录允许匿名请求 (无身份验证) ,则虚拟目录应启用匿名 (无身份验证) 。
必须设置物理上传目录中的 ACL,以便经过身份验证的用户可以读取通知 URL 指向的目录上的文件。 BITS 使用物理上传目录的 ACL 设置临时上传文件的 ACL, (BITS-Request-DataFile-Name 标头包含临时文件) 的路径。
由于 按值 通知不需要通知应用程序访问包含上传内容的临时文件,因此身份验证方案可以是匿名的,也可以协商 (NTLM) 。 唯一的要求是,虚拟目录的经过身份验证的用户还必须获得访问通知 URL 的授权。
指定远程共享的权限
虚拟目录可以指向不同计算机或网络共享上的映射驱动器。 如果它指向映射的网络驱动器,则用于映射驱动器的凭据应该对远程共享具有完全控制权。
如果虚拟目录指向网络共享,则 BITS 使用虚拟目录的 “以用户身份连接” 凭据来访问远程共享。 若要访问远程共享, Connect As 帐户需要具有 LogonUser 函数文档中所述的权限。 BITS 使用LOGON32_LOGON_BATCH或LOGON32_LOGON_INTERACTIVE登录类型登录。 “连接方式”用户帐户需要Full-Access远程共享的权限;授予写入权限是不够的。
将物理上传目录映射到网络共享时,请求通知 URL 的调用方标识为“连接方式用户”或物理上传目录的经过身份验证的用户, (仅在 IIS 6.0 及更高版本中可用,当“检查”框在“连接方式”对话框中选择“验证对网络资源的访问权限时,始终使用经过身份验证的用户的凭据”时,) 。
反馈
提交和查看相关反馈