c# - WCF 窗口凭据

标签 c# asp.net wcf

我在服务器 A 上的客户端调用 B 上的服务,B 上调用 C 上的服务。
为了让 B->C 的电话正常工作,我必须这样做:

channel.Credentials.Windows.ClientCredential = 
   new System.Net.NetworkCredential("WndowsUserName", "WindowsPassWord");  
IService1 service = channel.CreateChannel();  

等...

用户名和密码是从 A->B 使用的 Windows 凭据 当然,我不想对此进行硬编码,所以我如何在不进行硬编码的情况下做到这一点?

我试过了,没有运气:

WindowsIdentity callerWindowsIdentity = 
    ServiceSecurityContext.Current.WindowsIdentity;  
using (callerWindowsIdentity.Impersonate())  

最佳答案

使用

System.Net.CredentialCache.DefaultNetworkCredentials

属性(property)。它表示应用程序运行所在的当前安全上下文的身份验证凭据。详情可查here .

关于c# - WCF 窗口凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1253814/

相关文章:

c# - 我如何传入 DateTime 的参数,使其对应于 C# 中所需的形式参数

c# - 替换字符串中除模式外的所有字母数字字符

c# - 正则表达式拆分包含标记的文本

ASP.NET 应用程序从 Session.Remove 实现中引发 System.NullReferenceException

asp.net - '/'应用程序中的服务器错误。不提供此类页面

c# - 当记录确实存在时,无法将类型为 'System.DBNull' 的对象转换为类型 'System.Byte[]'

asp.net - 如何将流excel文件转换为数据表C#?

c# - 如何将 WCF 客户端代理生成的类中的方法标记为虚拟

C# 寻找 2 路通信。 (世界CF)

c# - 从文件系统反序列化 SOAP 消息