如何在单个WCF中混合WIF和非WIF端点 ?

问题描述 投票:2回答:2

基于WIF的WCF服务需要调用方法FederatedServiceCredentials.ConfigureServiceHost(),或将等效的element <federatedServiceHostConfiguration>放入<federatedServiceHostConfiguration>文件中才能工作。这是服务级别的设置,换句话说,它适用于所有端点。

根据方法文档,以多种WIF特定方式修改了web.config实例。例如,授权被基于WIF的授权类代替。

现在,我想拥有一个带有多个ServiceHostBase的单个<service>(在<system.serviceModel><services>内部),其中一个端点是基于WIF的,而其他端点正在使用普通的Windows身份验证。

Update。针对<endpoint>,让我解释为什么我们要混合使用WIF和非WIF端点。如果仅使用WIF,则每个客户都需要一个STS,例如AD FS。进行设置并不困难,但这是一个障碍,尤其是如果他们只是想测试我们的软件。因此,我们要做的是安装在使用Windows集成身份验证的模式下(用于我们的Web服务以及前端),然后以后他们可以切换到使用AD FS的模式。

因此,基本上,我们希望能够在没有AD FS的情况下进行安装,以降低进入应用程序的障碍。

为此,an answer below需要一个<service>。但是-这是我的问题-这也会影响同一服务的非WIF端点:例如,它们突然使用WIF授权管理器(<federatedServiceHostConfiguration>的实例)。

所以我的问题是:在单个WCF class ClaimsAuthorizationManager中混合使用WIF和非WIF端点的推荐方法是什么?

wcf windows-authentication claims-based-identity wif
2个回答
2
投票

2
投票
© www.soinside.com 2019 - 2024. All rights reserved.