有些WCF操作需要身份验证,有些则需要don';T怎么用?

有些WCF操作需要身份验证,有些则需要don';T怎么用?,wcf,authentication,Wcf,Authentication,我有一个WCF服务,需要用户名和密码。但并非所有操作都需要用户名和密码。如何实现这种类型的身份验证(基本上是在操作级别上)?身份验证是在端点基础上执行的。如果您需要两个身份验证模型,那么您将需要两个不同的端点。最干净的方法是使用两个单独的服务合同也许您可以创建一个附加服务,将所有不需要的操作放在其中authentication@boca这是实现这一目标的唯一途径吗。另外,当你说附加服务时,你是指与所有不需要身份验证的操作签订不同的合同吗。您可以定义多个服务吗?可以。见下面理查德·布莱维特的回答。

我有一个WCF服务,需要用户名和密码。但并非所有操作都需要用户名和密码。如何实现这种类型的身份验证(基本上是在操作级别上)?

身份验证是在端点基础上执行的。如果您需要两个身份验证模型,那么您将需要两个不同的端点。最干净的方法是使用两个单独的服务合同

也许您可以创建一个附加服务,将所有不需要的操作放在其中authentication@boca这是实现这一目标的唯一途径吗。另外,当你说附加服务时,你是指与所有不需要身份验证的操作签订不同的合同吗。您可以定义多个服务吗?可以。见下面理查德·布莱维特的回答。你能详细说明一下你所说的清洁是什么意思吗。如果我错了,请纠正我,但是我不认为我必须在同一个服务合同中使用相同的Ttp端点?如果你有两个服务合同,那么你需要为每个服务合同分别使用不同的端点。理论上,你可以在两个端点上使用相同的服务合同,然后使用授权拒绝在未经身份验证的服务器上传入的需要身份验证的呼叫终点。然而,您的代码变得更加复杂,您的客户更难理解他们需要做什么