c# - 使用 Azure 服务总线终结点在本地 WCF 服务中进行 Windows 模拟

标签 c# web-services azure impersonation servicebus

我有一个基于 WebAPI 的主 Web 服务,该服务根据使用 ADAL Azure Active Directory 登录通过 WPF 桌面应用程序登录到主服务的客户端,为本地 WCF 服务提供 Azure 服务总线中继终结点列表。这工作正常,主服务会为登录的客户端返回一个服务总线端点。

然后,客户端可以通过返回的服务总线端点连接到 WCF 本地服务,没有问题。

但是,本地 WCF 服务中的某些方法需要模拟调用客户端用户,这就是我陷入困境的地方。有谁知道如何能够模拟通过 Azure 服务总线中继调用 WCF 服务的客户端?我无法“登录用户”来模拟他们,因为我不知道他们的域密码,我只能使用他们的登录 UPN。

最佳答案

您可以采用与我在撰写有关通过 Azure 服务总线队列流动身份的论文时所采用的相同方式解决此问题。您需要为运行本地服务的服务帐户提供更高的权限,这可能会引入漏洞,具体取决于您的解决方案的工作方式,但如果您可以缓解该漏洞,那么此方法将起作用。

该论文位于以下链接: 通过 Azure 服务总线队列传输 Windows 身份 http://microsoftintegration.guru/publications/whitepapers/

希望这有帮助 迈克

关于c# - 使用 Azure 服务总线终结点在本地 WCF 服务中进行 Windows 模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28107244/

相关文章:

c# - 没有 INotifyPropertyChanged 的​​更改通知? (摘自 Pro WPF in C# 2010)

c# - 为什么通用类型不是正确的类型?

xml - 如何在解码 xml 时忽略命名空间

java - 如何在Tomcat7中部署WS

c# - 将 int 数组传递给 Web 服务

c# - 无法将 List<string> 从方法 1 传递到方法 2

powershell - 为什么在 PowerShell ARM 中创建新的 Web 应用程序时需要 'Location'

c# - 在 C# 中创建一组静态常量变量

c# - 如何更改现有命名管道的安全性?

azure - 术语 'Register-AzResourceProvider' 未被识别为 cmdlet 的名称