ECC*_*Dan 5 c# asp.net rest wcf wcf-security
我们正在.net 4.0上使用WCF构建Web服务.该服务将主要由ASP.net MVC前端使用,但也将由.net Windows应用程序使用.
由于我们不想保存用户凭据,所以提供的基本用户名/密码auth不会这样做,因此我考虑使用RNGCryptoServiceProvider.GetBytes()进行一次身份验证并创建一个简单的令牌(或者我应该将其称为cookie?)然后使用它来验证进一步的请求.
我已经研究了使用WCF进行安全性的各种常用方法,它们看起来过于复杂,特别是当我们想要做的只是将cookie传递给每个方法调用时.
将此cookie从WCF客户端传递给我们的WCF服务的最佳策略是什么?首选方法将尽可能与WCF的安全架构紧密结合.
到目前为止,我一直在使用自定义HTTP标头或自定义授权,但我不相信哪种方法更合适,如果有的话.
请记住,对于ASP网站,将为每个请求创建一个新频道,同时它将在Windows应用上重复使用.
IMO 有两种方法可以实现 WCF 安全:传输或消息。
您可以在应用程序中实现用户名类型身份验证。因此客户端必须填写用户名和密码才能发送消息。所以客户端的绑定看起来像
<security mode="TransportWithMessageCredential">
<message clientCredentialType="UserName"/>
</security>
Run Code Online (Sandbox Code Playgroud)
在服务器端,您可以实现自己的密码验证器,如本示例所示
这样做会在服务器上验证您的消息,您可以实现密码验证所需的任何逻辑。使用此功能,您的消息将使用 ssl 进行加密,并使用您自己在服务端实现的逻辑进行身份验证。
| 归档时间: |
|
| 查看次数: |
1843 次 |
| 最近记录: |