如何为Web服务中的某些端点执行相互身份验证?

时间:2015-10-15 13:24:30

标签: c# .net asp.net-mvc iis mutual-authentication

我有一个.NET MVC Web应用程序,我将公开一些端点,这些端点只能被某些授权的内部应用程序命中。我希望通过某种形式的相互身份验证来实现这一点,以便Web服务可以验证呼叫者的身份。

我见过的许多解决方案似乎都依赖于IIS级别的配置,因此似乎全局适用于Web服务而不仅仅适用于特定的端点。

为了使事情变得更复杂,我们系统中的所有内部请求首先通过ARR反向代理进行路由/负载平衡。由于ARR提供路由,我更喜欢通过HTTP保留所有内容,以避免需要ARR之外的单独路由机制来定位机器

如何为这种情况配置某种形式的相互身份验证?

1 个答案:

答案 0 :(得分:1)

如果调用者也是同一Windows域中的Windows .NET应用程序, 我会通过WCF而不是MVC应用程序公开端点。

然后配置WCF端点以使用Windows身份验证,并使用WCF对基于角色的授权的支持。 (基于简单情况的属性) 有关于如何实现此目标的here文档。