问题标签 [networkcredentials]

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 投票
2 回答
786 浏览

c# - 在 C# 中验证用户名和密码

我有一个应用程序,它从数据库表中获取 gmail 电子邮件地址和密码,并在使用这些电子邮件发送任何消息之前对其进行验证,但是只要发生任何验证错误,以下部分都会向我返回一个异常。

如何验证用户名和密码是否正确而不会在运行时抛出任何异常?

0 投票
1 回答
2146 浏览

wcf - WCF 可以使用用户名密码进行 WindowsAuthentication 吗?

我正在构建一个 wcf 服务,该服务旨在使用 Windows 身份验证在 Intranet 环境中运行。我一直在愉快地使用本地计算机上的某种默认设置。

现在的问题是我需要测试它安装到异地演示计算机上。我只需要使用针对 wcf 服务计算机的用户帐户使用的用户名密码来运行它。

这是我的客户代码:

是否可以配置 wcf 服务,以便将凭据转换为其机器上的 Windows 帐户?

我一直在这里和那里阅读相互矛盾的帖子,但我很确定 IIS 不应该成为身份验证的一部分。我不确定 ASP.Net 身份验证节点是否适用,或者它是否都是绑定配置。

理想情况下,我希望它是 NTLM 类型的身份验证,这样我就不需要设置 https。

0 投票
3 回答
6193 浏览

c# - ASP.NET 中的 NetworkCredential 错误

我正在尝试使用 NetworkCredential 类通过 ASP.NET 访问网页。但是,我不断收到以下消息的异常System.Security.Cryptography.CryptographicException: The handle is invalid

下面是我如何尝试调用该函数的代码。任何帮助是极大的赞赏。

C#:

堆栈跟踪

0 投票
1 回答
2581 浏览

c# - WCF 的凭据委派问题

使用场景 三台机器都在同一个域中

  • 机器 1 - 具有在 user1 下运行的应用程序,从中生成请求
  • 机器 2 - 是在网络服务下运行的 Windows 服务,它使用 WSHttpBinding 托管 WCF 服务
  • 机器 3 - 共享文件夹,其中 user1 有权写入该文件夹

理想情况下,WSHttpBinding 会自动将安全上下文从应用程序传输到 WCF 服务,因此它应该能够将文件写入共享位置。因为,如果我们直接尝试将文件从Machine 1 上的Application 写入Machien 3 Share Location,是成功的。

但是,令我们惊讶的是,它无法通过服务将文件写入共享位置。我们收到“拒绝访问”

正如我所说,我们正在使用 WSHttpBinding,理想情况下,用户上下文会转移到服务中。在Client,即Machine 1,模拟级别设置为System.Security.Principal.TokenImpersonationLevel.Impersonation;因此,网络服务可以将自己模拟为 Domain\user1。这足以写入第三台机器的文件夹吗?

或者我们应该将客户端模拟级别设置为 System.Security.Principal.TokenImpersonationLevel.Delegation?(我们都试过了,但没有用)

另外,还有一条信息:机器 2 是“受信任的委托”。在域控制器中为此机器设置了 SPN。

操作合约声明为

我们仍然面临这个问题。

0 投票
1 回答
5015 浏览

c# - NetworkCredential、CredentialCache、ICredentials 全部返回 Nothing

我有一个 Windows 窗体应用程序,当我尝试从 Google 服务器返回 JSON 字符串时,它不断返回 407 代理服务器错误。我被引导相信我需要做的就是通过将 WebRequest Credentials 设置为“DefaultCredentials”或“DefaultNetworkCredentials”来正确设置安全上下文。但是,我使用的所有方法(参见主题标题)总是返回“”。

烦人的是,该应用程序在我的机器上运行、发布并通过 VS 2008 时运行良好,但是当其他用户尝试时,它会产生以下错误:

在 System.Net.HttpWebRequest.GetResponse()

任何想法任何一个,在我秃头之前!

提前致谢

C

编辑:按要求提供一些代码。我已经尝试了以下几种变体,但似乎都不起作用。

或字符串 url = "http://www.blah.com"; uri uri = 新的 uri(url); ICredentials 凭据 = CredentialCache.DefaultCredentials;NetworkCredential credential = credentials.GetCredential(uri, "Basic");

或者

进入

或者

我也试过了

0 投票
2 回答
571 浏览

iphone - 如何在 iOS 应用中安全地包含服务器凭据

我有一个 iOS 应用程序,它定期连接到服务器以查找数据更新。该连接使用 SSL 和 HTTPBasicAuthentication。

将我的服务器登录凭据包含在应用程序中的最佳方式是什么?据我了解,越狱的 iPhone 可以读取我的构建文件并轻松查看用户名和密码以登录我的服务器。

谢谢,

麦克风

0 投票
2 回答
3129 浏览

c# - 如何在多个 HttpWebRequest 之间“共享”NTLM 身份验证?

我的 C# 应用程序访问了使用 NTLM 身份验证的 Web 服务器。

我发现向服务器发出的每个请求(使用新的 HttpWebRequest)都经过单独身份验证。换句话说,每个请求都会导致 401 响应,然后在我得到实际响应之前发生 NTLM 握手对话。

例如:

第一个 GET 请求:

后续请求:

(最初,PreAuthenticate 设置为 false,后续请求看起来像第一个请求 - 即每个“请求”三个底层请求)

有没有办法与后续的 HttpWebRequests“共享”对服务器的第一个请求执行的身份验证?

我想也许该UnsafeAuthenticatedConnectionSharing属性会允许我这样做,但是对于应用程序中使用的所有 HttpWebRequest 对象将其设置为 true 无效。

但是,如果我设置PreAuthenticate为 true,则在第一个请求之后的每个请求都会发生一个 401 响应。

0 投票
2 回答
12689 浏览

iis - 为什么 CredentialCache.DefaultCredential 包含域、用户名和密码的空字符串

有没有人知道为什么 CredentialCache.DefaultCredential 会返回一个 ICredential 实例,其中域、用户名和密码为空字符串?我在 IIS 7.5 上运行 WCF 服务。它在一台服务器上运行良好,但在另一台服务器上无法运行。我已验证 IIS 应用程序已启用 Windows 身份验证....

以下是它的使用方式:

0 投票
1 回答
4375 浏览

web-services - 如何设置显式 NetworkCredential 以对工作组计算机而不是域进行身份验证

在调用需要特定身份的 Web 服务之前,我使用以下形式的 NetworkCredential 构造函数来设置显式凭据:

这在我们的 IIS 6.0 开发和 IIS 7.5 暂存环境中运行良好,其中各种服务器都是我们域的一部分。

现在,此代码已部署到生产环境,其中服务器不是域的一部分,而只是 WORKGROUP 的成员,并且正确的身份验证不起作用。在运行时,这种有效的替换失败了:

我没有对这些不同的工作组机器的完全访问权限,并且在那里配置东西的系统管理员似乎已经正确设置了本地帐户和应用程序池。

那么,总而言之,是否可以通过简单地使用服务器名称而不是域名来继续使用上述技术在 WORKGROUP 中工作?如果代码在任何一种情况下都可以工作,那么肯定存在其他一些配置问题,我将不得不追查有关该问题的更多信息。

0 投票
2 回答
1774 浏览

c# - 如何将凭据从一个 Web 服务传递到另一个?

我目前有一个调用 Web 服务 (WS1) 的应用程序,后者又调用另一个 Web 服务 (WS2) 来获取/设置 WS2 上托管的服务器上的信息。我希望能够将用户凭据从 WS1 传递到 WS2,就好像有一个应用程序直接调用 WS2 一样。有没有办法做到这一点?

这是我目前拥有的:

申请代码:

Web 服务 1 代码(在“SomeServer”上)

它是我需要更改的 Web 服务代码中的最后一行,我知道......但我不知道将其设置为什么......有 ClientCredentials.UserName 但我没有密码等级。