【问题标题】:How to call an asmx service which needs authorization from WCF in .NET 3.5如何在 .NET 3.5 中调用需要 WCF 授权的 asmx 服务
【发布时间】:2012-09-29 01:45:31
【问题描述】:

如何在 .NET 3.5 中调用需要来自 WCF 的 Windows 身份授权的 asmx 服务?我们仅限于 .NET 3.5 框架。我有凭据,但不确定如何在 C# 代码中实现。

【问题讨论】:

  • “认证”是什么意思?您的意思是该服务只能使用 SSL 访问,还是需要 Windows 身份验证才能访问?
  • @nateirvin 它需要我拥有的 Windows 身份验证。但不确定如何使用 WCF 调用
  • @ArturUdod 这不是重复的。在这里我询问有关 WCF 调用 asmx 的问题,该 asmx 需要我拥有的 Windows 凭据。

标签: c# .net wcf web-services .net-3.5


【解决方案1】:

http://msdn.microsoft.com/en-us/library/ff406125 有一个身份验证示例,在这个 url 中是这样完成的:

public decimal ReportSales()
{
    var currentUser = new WindowsPrincipal((WindowsIdentity)
    System.Threading.Thread.CurrentPrincipal.Identity);
    if (currentUser.IsInRole(WindowsBuiltInRole.BackupOperator))
    {
        return 10000M;
    }
    else
    {
       return -1M;
    }
 }

http://haacked.com/archive/2011/10/19/implementing-an-authorization-attribute-for-wcf-web-api.aspx 中还描述了具有编译器属性的替代方法

对于更高版本的 .net WIF 将是可行的方法。

我希望这会有所帮助...

【讨论】:

    猜你喜欢
    • 2012-05-29
    • 2010-10-16
    • 2011-01-08
    • 1970-01-01
    • 2012-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多