从安全 Web 应用程序到 WCF 数据服务的身份验证调用挂起

问题描述 投票:0回答:1

架构概述(不幸的是我无法在任何方面改变这一点):

    需要身份验证的 .net mvc 站点位于“机器 A”上
  • 处理针对“身份验证文件”的身份验证的 WCF 数据服务位于“机器 B”上
我创建了一个自定义主体(继承 IPrincipal)和自定义授权属性(继承 AuthorizeAttribute)来执行该系统所需的一些独特检查(类似于检查角色)。每个公共控制器操作(除了“LoginController”中的操作)都有我的自定义授权属性。

在我处理登录请求的控制器操作(具有“AllowAnonymous”属性)中,我向机器 B 上的数据服务发布了一个请求,但它只是挂起。我已经调试了该服务,可以看到它接收请求、执行工作并发送响应。机器 A 上的站点似乎没有收到响应。

这是我迄今为止尝试做的事情:

    我在机器 C 上创建了一个小应用程序,将相同的数据发布到数据服务,该过程运行完成,机器 C 上的应用程序收到响应。
  • 我已回滚到不包含任何身份验证限制的修订版,并尝试发布相同的数据,但仍然没有收到响应。
  • 我已经禁用了机器 A 上的所有安全软件,以查看响应是否被防火墙或其他东西捕获,但没有运气。
  • 如果我模拟身份验证,则对来自站点的非身份验证数据的数据服务的其他调用会收到响应并按预期运行。
因此,如果您对其他尝试有任何建议,或者您想要更多详细信息(不幸的是,我无法共享代码),我将尽力提供。

谢谢

c# asp.net-mvc wcf authentication
1个回答
0
投票
这里的问题是存在嵌套的异步调用。当我将对数据服务的异步调用移出调用它的异步方法时,它工作得很好。

© www.soinside.com 2019 - 2024. All rights reserved.