我有一个 .NET 客户端-服务器系统,它使用 WCF 进行通信。
通信必须是安全的。到目前为止,我使用 Windows 凭据进行身份验证。
但是现在出现了一个新的要求——系统必须在客户端和服务器位于不同域(或客户端不在任何域中)的情况下工作。
Windows 凭据身份验证在此设置中不起作用。AFAIR,WCF 支持以下安全机制
- Windows 身份验证
- X509 证书
- 已发行代币
- 用户名和密码。
我应该使用哪一个,如果
- 我需要以尽可能少的努力实施修复,
- 客户端和服务器位于不同的域中(因此,Windows 身份验证不是一种选择)和
- 通信必须是安全的(服务器不得处理来自未经授权的客户端的请求)
?