【发布时间】:2010-03-08 20:35:43
【问题描述】:
我一定遗漏了一些非常基本的东西。这是场景
我们有一个具有以下设置的 ASP.NET 2.0 WebService (Server 2003):
- SSL
- 集成安全性
- 异常。访问已禁用
- 在 NETWORK SERVICE 下运行
- 公开(即可以从公共访问 互联网)
- 服务从数据库返回数据 使用应用程序用户名/密码, 不调用其他网络服务
- 没有设置模拟 服务虽然我试过 也可以切换。
我们有一台与 LAN 断开但使用空中卡的客户端计算机(同一域)。用户使用其 AD 用户名/密码/域登录笔记本电脑。
在代理级别的代码中,我们有service.PreAuthenticate = true
我们也尝试过同时使用DefaultCredentials 和DefaultNetworkCredentials,结果相同。
- .NET windows 客户端与 VPN 配合使用
- .NET windows 客户端得到 401: 未经授权,没有 VPN(注:没有 返回内部异常)
- IE 可以使用或不使用 VPN。
我的假设(可能不正确)是,如果我将 DefaultNetworkCredentials 传递给代理类,它将传递域凭据以进行身份验证。 IE 显然正在做一些魔术来完成这项工作。
我错过了什么?
【问题讨论】:
-
客户端配置中有没有代理设置?
标签: .net security iis web-services http-status-code-401