问题标签 [defaultnetworkcredentials]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1286 浏览

c# - DefaultCredentials 在哪里提取“用户名”作为 Web 请求的用户名?

有一个WinForms桌面应用程序尝试连接到SSRS服务。报告服务器配置为接受 Active Directory 凭据登录以及特定用户的凭据以用于报告目的。在以下代码部分中,我们使用 a WinForms ReportViewer

这在我的开发伙伴的机器上运行良好,对于我们的大多数客户来说都很好。但是有些客户端会遇到 401: System.Net.WebException: The request failed with HTTP status 401: Unauthorized,来自 SoapHttpClient 系统。有趣的是,我可以在我的机器上重现这个问题。使用 来查看流量FiddlerNTLM身份验证开始,然后“用户名”(字面意思!)作为用户名而不是我的真实用户名发送。显然那是失败的。

如果我使用正确的用户名、密码和域 ( ) 构建凭据,reportViewer.ServerReport.ReportServerCredentials.NetworkCredentials = new NetworkCredential(goodUserName, goodPassword, domain);我的请求就会成功。就像我导航到SSRS asmx链接并输入我的凭据一样。但是CredentialCache.DefaultCredentials(应该默认为我的 AD 凭据)从某处提取此“用户名”。系统是从哪里得到的?到目前为止,我搜索了我们的源代码和网络,但没有运气。

0 投票
1 回答
1071 浏览

windows-services - 从 Windows 服务获取默认凭据

我希望能够从 Windows 服务中获取默认凭据。但是,如果我打电话

或者

返回的 NetworkCredential(作为 ICredential)用户名和域等为空。我在域帐户下运行 Windows 服务。

如果我创建一个简单的控制台应用程序,则会返回一个有效的凭据。

我需要这个的原因是能够在 signalR HubConnection 上设置凭据。SignalR 服务在启用了 Windows 身份验证的 IIS 中运行。我能看到的唯一方法是设置 HubConnection.Credentials 属性。但如上所述,当我在 Windows 服务中运行时,我无法获得凭据。

任何人都可以帮忙吗?

0 投票
0 回答
625 浏览

windows-authentication - CredentialCache.DefaultNetworkCredentials 未返回当前登录的用户。交换服务

我正在尝试将当前登录的用户凭据传递给 Exchange Web 服务托管 API。不尝试检查它们或检查值,只需使用它们进行调用。该应用程序正在使用 Windows 身份验证,并且当前的 Windows 身份符合预期。

WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent(); //returns DOMAIN\useraccount

但是,CredentialCache.DefaultNetworkCredentials 正在返回应用程序池的凭据。

我试图模仿,但我不确定我做得对。

web.config 设置<authentication mode="Windows" />和 IIS 也设置 Windows 身份验证。加载用户配置文件在应用程序池上设置为 false。

在此处输入图像描述

任何帮助将不胜感激。

0 投票
1 回答
40 浏览

c# - Macintosh/Apple Web 浏览器使用调用远程 URL 的 Web API 2.0 获得 401

我有一个 web api 2.0 设置,它在内部调用一个远程 url,这个代码适用于 PC,但不适用于 Apple Mac 浏览器,如 FireFox;他们收到 401 错误。任何帮助将不胜感激!

有问题的代码是:

谢谢!

0 投票
1 回答
527 浏览

c# - Sharepoint 2010 GetListItems 与 Web 服务 - ListSoapClient 与 DefaultNetworkCredentials

我想使用 Win8 应用程序获取 SharePoint 2010 列表的一些 ListItems。当我手动设置凭据时,一切正常,例如:

如果我尝试使用登录的 Windows 用户设置凭据,则会收到以下未经授权的错误:

HTTP 请求未经客户端身份验证方案“协商”的授权。从服务器收到的身份验证标头是“协商,NTLM”。

你能帮助我吗?

0 投票
0 回答
248 浏览

proxy - 使用内联 MSBuild 任务从代理后面下载 NuGet

我正在使用 NuGet 中的 NuGet.targets 文件自动下载 NuGet.exe,然后在我的项目中恢复数据包。

这运行良好,但是在工作中我们有一个代理,并且由于 (407) 需要代理身份验证异常,此方法失败。我修改了目标文件以使用代理详细信息,尽管此方法在应用程序中有效,但在 MSBuild 任务中无效,但代码是相同的。

如果我对代理和我的登录详细信息进行硬编码,它会在我构建解决方案时下载 NuGet.exe 并正确恢复包。问题似乎只是 MSBuild 任务中的身份验证,我完全不知道为什么。我附上了我修改后的代码。

如果有人可以提供帮助,我将不胜感激。谢谢

0 投票
0 回答
172 浏览

c# - CredentialCache.DefaultNetworkCredentials 到期

在运行 Web 应用程序或 Windows 服务并向其他站点发出 Web 请求时,我以这种方式指定凭据:

这一直有效,直到站点长时间中断(几个小时)。一旦站点可用且可访问,每次连接尝试都会生成以下错误,直到重新启动 Windows 服务。

System.Net.WebException:远程服务器返回错误:(503)服务器不可用。

解决这个问题的最佳方法是什么?这很难处理,因为站点上的小中断随时可能发生,我需要能够登录服务器并自由地重新启动应用程序才能恢复正常业务。

编辑:实际上,在我重新启动服务之前通常会重复的异常通常是但并非总是如此:

远程服务器返回错误:(401) Unauthorized

对于那个很抱歉。

0 投票
1 回答
121 浏览

asp.net - Web 服务器中的 WebBrowser 控件未从网站返回 Cookie

我正在尝试从 Web 应用程序中的 WebBrowser 控件访问 HTTPS 站点,以从该站点获取一些基本信息(该站点此时没有 Web 服务或任何其他 API)当我从 IIS Express 执行此操作时我能够连接登录并导航到其他页面,就像从该系统上的网络浏览器直接连接时一样,一切正常。

从大多数开发系统,即 Windows 10 或 Windows Server 2016,我可以发布 Web 应用程序,连接到 Web 应用程序,然后通过 Web 应用程序连接到站点,登录和加载其他页面一切正常。但…。当我部署到 GoDaddy 并通过应用程序连接到站点时,我能够成功登录,但是当我导航到另一个页面时,我被重定向到登录页面。

我注意到,在通过 GoDaddy 上的应用程序时,我没有取回任何 JSESSION Cookie,但在所有其他成功案例中我确实得到了它们。我在登录目标站点之前收到了 JESSSON Cookie:http ://www.altavista.com/但任何在连接时返回 cookie 的网站就足够了。我已将用户代理更改为我在桌面上使用并连接的同一代理,但在 GoDaddy 上仍然获得相同的结果。

我已经在受 SSL 保护 (HTTPS) 和不只是 (HTTP) 的 GoDaddy 站点上尝试过此操作。希望有人在使用 WebBrowser 控件之前遇到过此类问题?

这是代码的测试片段(您可能会注意到,我已经尝试了很多方法来解决 CookiePresistance、清除 Cookie、JScript 以清除状态等:

0 投票
0 回答
772 浏览

c# - C# 如何使用 NTLM 身份验证设置 Webproxy

我想设置一个带有 NTLM 身份验证代理的网络客户端,但我有一些问题要移交 DefaultCredentials。这是我目前的解决方案,但它不起作用。

以下是我阅读的一些参考链接,但对我没有任何帮助:

我应该如何设置默认代理以使用默认凭据?

C# 通过代理连接

你有什么想法来解决这个问题吗?

0 投票
0 回答
135 浏览

c# - 使用当前用户连接到 SQL Server

我需要构建一个连接到 SQL Server 的服务。我对身份验证的想法是使用执行用户,因此我不必手动更改密码。要连接到 SQL Server,我使用System.Data.SQLClient,直到现在我设置了SQLConnectionStringBuilder并对凭据进行硬编码。

我尝试使用用户给定的NetworkCredentials,但找不到将其用于 SQL 连接的方法。

有什么办法可以做到吗?如果没有,我如何安全地保存用户凭据(例如在文件中?)以在运行时读取?该应用程序每晚都应作为无头服务运行,因此我在运行时无法使用用户输入。

提前致谢