【问题标题】:401 Unauthorized Error with Web ServiceWeb 服务出现 401 未经授权的错误
【发布时间】:2010-03-08 20:35:43
【问题描述】:

我一定遗漏了一些非常基本的东西。这是场景

我们有一个具有以下设置的 ASP.NET 2.0 WebService (Server 2003):

  • SSL
  • 集成安全性
  • 异常。访问已禁用
  • 在 NETWORK SERVICE 下运行
  • 公开(即可以从公共访问 互联网)
  • 服务从数据库返回数据 使用应用程序用户名/密码, 不调用其他网络服务
  • 没有设置模拟 服务虽然我试过 也可以切换。

我们有一台与 LAN 断开但使用空中卡的客户端计算机(同一域)。用户使用其 AD 用户名/密码/域登录笔记本电脑。

在代理级别的代码中,我们有service.PreAuthenticate = true 我们也尝试过同时使用DefaultCredentialsDefaultNetworkCredentials,结果相同。

  1. .NET windows 客户端与 VPN 配合使用
  2. .NET windows 客户端得到 401: 未经授权,没有 VPN(注:没有 返回内部异常)
  3. IE 可以使用或不使用 VPN。

我的假设(可能不正确)是,如果我将 DefaultNetworkCredentials 传递给代理类,它将传递域凭据以进行身份​​验证。 IE 显然正在做一些魔术来完成这项工作。

我错过了什么?

【问题讨论】:

  • 客户端配置中有没有代理设置?

标签: .net security iis web-services http-status-code-401


【解决方案1】:

如果您使用 Firefox、Safari 等,IE 默认使用 NTLM。您必须指定域服务器。

这件事发生在我不久前的一个 Web 应用程序中。

http://www.nateirwin.net/2007/01/19/enabling-ntlm-authentication-in-firefox-and-internet-explorer/

【讨论】:

  • 因为你提到了 IE,我很困惑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-23
  • 2012-06-29
  • 1970-01-01
  • 1970-01-01
  • 2018-10-20
  • 2011-09-14
  • 1970-01-01
相关资源
最近更新 更多