我有一个 ADO.NET 数据服务(我们称之为 service.svc)。当我将它部署到启用了集成 Windows 身份验证的 IIS 6 站点时,所有请求(GET、POST、PUT 和 DELETE)对我来说都可以正常工作,因为我是该框的管理员。但是,当非管理员用户点击服务时,只有 GET 和 POST 请求有效。当他们尝试 PUT 或 DELETE 请求时,他们会收到 HTTP 401.3“拒绝访问”错误:
“错误消息 401.3:您无权使用您提供的凭据查看此目录或页面(访问因访问控制列表而被拒绝)。请求 Web 服务器的管理员授予您对“...\service.svc”的访问权限。”
如果我授予“Authenticated Users”本地组对 .svc 文件的写入权限,一切正常,但我真的不想这样做(并且不认为我应该这样做才能得到这个工作)。事实上,我很困惑为什么更改文件权限会影响到这一点,但这似乎是问题所在。
我在微软论坛中找到了一些不同的建议来解决一些类似的问题(在这里,我会发布更多链接,但被告知新用户只能在帖子中发布一个链接),但没有一个解决方案帮助。
任何帮助深表感谢。我当然不是 IIS 专家,这让我很困惑。