1
我有一个小的WCF服务在内部网,我需要在其中实现身份验证。该服务通过http与不同的Java客户端进行通信(使用basicHttpBinding)。我试着配置,像这样httpBasicBinding与身份验证,没有消息或传输安全
<basicHttpBinding>
<binding>
<security mode="None">
<message clientCredentialType="UserName"/>
</security>
</binding>
</basicHttpBinding>
绑定和增值服务行为
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceCredentials>
<userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="LocalTasks.Services.Validators.IntegrationUserNameValidator,LocalTasks.Services"/>
</serviceCredentials>
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
但是调用这个服务不打我的自定义UserNamePassword验证。 我也尝试过相同的变体,但安全模式设置为消息并添加了证书。在这种情况下,验证器工作正常。
如何配置服务以通过basicHttpBinding验证用户身份,而没有任何消息或传输安全性?
因为它需要修改Java客户端的遗留代码。因此,没有任何方法可以将证书发送到服务器,而无需通过打开的http通道进行安全保护 – Anton
如果你仍然无法加密,那么你可以使用安全模式'TransportCredentialOnly'。看我的编辑。 – cvlad
我明白了。任何额外的 需要? –
Anton