问题标签 [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.
httpwebrequest - 使用 NetworkCredential 设置的后续 HttpWebRequest 尊重最近更改的域密码
我们收集 Windows 域用户名和密码,并通过 Web 前端将其保存在 cookie 中。这些凭据以及对特定数据的请求最终通过托管在 Windows 服务中的 WCF 调用传递,该调用本身将其作为新的 REST 调用重定向到配置了 Windows 身份验证的 IIS 下的另一个服务器设置。这是使用 HttpWebRequest 完成的...
因此,如果我将 cookie 域密码 A 存储在 cookie 中,通过上述方式发出请求(一切正常),然后将我的 windows 域密码更改为 B,我们为后续请求找到的是上面的代码(再次作为 windows 运行服务)在接收和设置 NetworkCredential 上的 A 时会很高兴地进行身份验证(接收 A,因为 cookie 仍然使用旧密码)。如果我们立即重新启动服务,任何进一步尝试使用密码 A 的 HttpWebRequest 和 NetworkCredential 都会生成 401。为什么在重新启动之前会使用旧的域密码?你如何阻止这种行为?
wcf - 将 NetworkCredentials 对象传递给 WCF 服务
编辑-我改写了这个问题以(希望)更好地集中它。
需要交互的组件有:ASP.NET website <--> WCF service <--> 3rd party web service
第 3 方 Web 服务需要通过在构建代理期间指定网络凭据来进行 Windows 身份验证。例如:
据我所知,这是我们的 WCF 服务可以模拟用户访问 3rd 方 Web 服务的唯一方式。Windows 身份验证(通过网络凭据)是唯一受支持的模拟方式 - 无法在第 3 方 Web 服务和 WCF 服务之间建立某种信任。
该网站在服务帐户下运行,而不是在个人用户的帐户下运行。当我们的用户登录到我们的网站时,我们使用 ActiveDirectory 验证他们,但我们只是使用 AD 说“是的,这是一个有效的名称和密码组合”。
我需要一种方法来获取我在网站上知道的信息(用户名、密码)并将其转换为 WCF 服务上的网络凭据。我所读到的所有内容都表明,传递用户名/密码甚至网络凭据对象(如果可能的话)是一个很大的安全风险,也是一种非常糟糕的做法。
当网站不在用户帐户下运行时,可以使用哪些选项/技术使网站用户的 Windows 身份可用于 WCF 服务?
感谢您的任何见解。
PS 我确实找到了这篇文章:How do you pass user credentials from a process to another for Impersonation in .NET 1.1? 在我发布我的问题并且我正在使用它的内容之后。
c# - 具有基本身份验证的 HttpWebRequest 失败,并出现 DefaultNetworkCredentials 的 401 错误
我正在使用本地 Web 服务器(IIS、Windows 8)测试应用程序,该站点需要基本身份验证,只要我明确传递我的凭据,一切正常:
但是我想使用集成安全性,所以我尝试将第一行更改如下:
(我也试过 DefaultCredentials)
我用 Fiddler 检查了网络流量,我看到在第二种情况下 Http 请求是在没有授权标头的情况下发送的,所以它失败也就不足为奇了。但为什么?
更新。我相信我误解了默认凭据的概念。DefaultNetworkCredentials 不能用于生成基本身份验证标头,它必须是用户/密码对。所以这种行为是设计使然。
authentication - NTLM-authenticaion 失败,但基本身份验证有效
以下是应用程序在本地 IIS 上调用 HTTP 请求时本地服务器上发生的情况。
当我执行请求时,我可以在 Fiddler 中看到以下一系列 HTTP 调用:
- 没有授权标头的请求,使用 WWW-Authenticate NTLM+Negotiate 导致 401
- 授权请求:协商(Base64 字符串 1),使用 WWW-Authenticate:协商(Base64 字符串 2)导致 401
- 授权请求:协商(Base64 字符串 3),使用 WWW-Authenticate:协商(Base64 字符串 4)导致 401
- 授权请求:协商(Base64 字符串 3),使用 WWW-Authenticate NTLM+协商导致 401
显然客户端和服务器(都在同一台机器上运行)正在尝试握手,但最终授权失败。
奇怪的是,如果我禁用站点的 Windows 身份验证并启用基本身份验证并显式发送用户/密码,一切正常。如果我使用 NTLM 身份验证并尝试从指定我的凭据的浏览器访问该站点,它也可以工作。
c# - Window 8 通过 FormsAuthentication 使用 SharePoint REST 接口?
我创建了一个示例 Windows 8 应用程序,使用 REST API 获取 SharePoint 2010 列表数据,例如 _vti_bin/ListData.svc 我正在使用 NetworkCredential 访问列表,它工作正常。如何使用 FormsAuthentication 获得相同的结果?NetworkCredential 的代码:
asp.net - 从启用 Windows 身份验证和服务帐户的 Web 服务器中运行的 Web 应用程序获取客户端用户名
在将我的应用程序部署到 WebServer 时遇到以下问题,
我拥有的代码是“Usercheck = My.User.Name”,但这将返回运行我的 web 应用程序的实例的服务帐户,所以我需要显示“evilla”,这是我当前的 Windows 凭据,当我尝试第一次连接到它要求我的网络凭据的 web 应用程序。
是否可以获取我的 Windows 用户名而不是服务帐户?(我正在远程连接到应用程序)
我努力了:
我错过了什么吗?
注意:我从上面的代码“NA/SRS-SA”(服务帐户)中获取
谢谢!!
powershell - Powershell:从 runas /netonly 启动时发现默认网络凭据
我正在寻找一种方法来将当前会话的网络凭据捕获到一个我可以稍后传递的变量中......
关键是在我有帐户访问/特权的外部域上执行命令,但源域和目标域之间没有信任。
首先,我们在使用 runas 命令 (runas /netonly /user:domian\account powershell) 生成的 powershell 中运行
从这里我可以做几乎所有我想做的事情,除了在任务调度程序中创建一个事件而不将用户名/密码硬编码到命令行中
调用命令 -computer $destination -scriptblock {schtasks -ru domain\account -rp 密码}
我想做的是像
$username = 获取当前会话网络用户名($(whoami) 显示实际的本地 longon 帐户,而不是产生 powershell 窗口的 runas 帐户)
$password = 获取执行 RunAs 命令时输入的密码
wcf - 反射、WCF Web 服务、LoadFrom 程序集哦,我的。网络凭据问题
我创建了一个 WCF webservice,它可以动态调用其他 webservices/db 连接,并使用 .LoadFile('from assembly') 加载 DLL。在其中一个程序集中,使用传入的网络凭据动态调用另一个 Web 服务,如下所示:
//剩下的代码。.OpenRead 给出 401 错误(未授权)。
当我从测试控制台应用程序以调试模式执行此操作并创建网络凭据时,如下所示:
这很好用。
失败的代码提供如下网络凭据
任何帮助将不胜感激。
c# - 无法使网络凭据正常工作
所以我一直在使用 DotNetOpenAuth 一段时间,今天我需要添加对提供程序的支持,迫使我使用基本身份验证发送密钥(我一直在使用旧版本并且只有 Post 参数)
我试过用ClientCredentialApplicator.NetworkCredential
,没用。然后按照这里的建议,我自己做了ClientCredentialApplicator
。
我仍然没有工作,我在其中设置了断点,ApplyClientCredential
但它们从未命中。
我升级到最新版本(4.3.0.0),应该有这个修复。
一切正常,但没有Authorization
标头,并且远程服务器以 301 错误回答(这让我认为这与提交的问题相同 - 授权信息不会添加到请求中,直到服务器回答Unauthorized
和我正在使用的提供者没有Authorization
标题时用 301 回答)
c# - 从 Windows 服务访问受保护的网络文件夹
我遇到以下问题:我需要使用 Windows 服务从网络文件夹中复制一些文件。我已经阅读了有关服务会话和用户会话的信息,但仍然没有找到与我类似的案例:
从用户会话中,我可以成功访问它,使用报告的凭据(在访问之前显示登录弹出窗口)
视窗服务:InputMonitor (written in c#)
我应该在哪个用户下运行服务输入监视器?
我尝试了不同的组合,但我仍然无法访问该文件夹。
提前致谢