我们正在使用.net 4.0上的WCF构建Web服务。该服务主要将由ASP.NET MVC前端使用,但也将由.NET Windows应用程序使用。
基本的用户名/密码验证无法胜任,因为我们不想保存用户凭据,因此我考虑进行一次身份验证并使用RNGCryptoServiceProvider.GetBytes()创建一个简单的标记(或者我应该称其为cookie?),然后使用该标记进一步验证请求。
我已经研究了WCF安全性的各种常见方法,它们大多数看起来过于复杂,特别是当我们只想做的实质上是将cookie传递给每个方法调用时。
从WCF客户端到我们的WCF服务传递此cookie的最佳策略是什么?首选方法应尽可能紧密地与WCF的安全体系结构耦合。
到目前为止,我倾向于使用自定义HTTP标头或自定义授权,但我不确定哪种方法更合适(如果有的话)。
请记住,对于ASP网站,每个请求都将创建一个新通道,而在Windows应用程序中将重复使用该通道。