繁体   English   中英

使用NetTcpBinding在WCF中进行Windows身份验证/加密

[英]Windows Authentication / Encryption in WCF With NetTcpBinding

我试图了解Windows身份验证/加密如何与WCF中的NetTcpBinding一起使用。 我需要确切地知道使用什么加密算法来加密通过线路传输的数据(以及一些证明它的文档)。 如果客户端和/或主机不在域上,Windows身份验证/加密是否仍然有效?

使用Windows凭据的netTcpBinding要求调用方和服务位于同一个域上 - 或者至少在相互信任的域上。 否则,服务器将无法验证Windows凭据并拒绝服务调用。

至于加密:你甚至可以选择你喜欢的那个! :-) TripleDES,AES - 您可以使用不同的密钥长度命名。

请参阅WCF安全基础文章 - 它讨论了安全性和加密的所有方面; 另请参阅有关安全服务的MSDN文档,其中有更详细的介绍; 可以在此处找到一个很好的概述显示basicHttp传输安全元素的属性。

去年,我不得不使用wcf来实现一个分布式系统,该系统需要一个既安全又高效的系统所有层的机制。 我们决定通过创建二进制加密令牌来创建自己的安全架构。 加密的令牌包含给定用户拥有的所有权限。

因此,例如,用户将登录到系统,如果成功通过身份验证,则会收到加密的令牌。 此令牌本地存储在Web客户端上。 用户的所有进一步请求都将包含该令牌。 令牌用于架构的多个级别。 Web服务器将使用它来决定启用或禁用哪些可视元素。 由于服务层已暴露于互联网,因此每个打开的门都会检查令牌以进行身份​​验证,并检查该令牌是否具有执行给定任务的适当权限。 业务层可以再次检查令牌中包含的更具体的权限。

优点:

  • 如果我们使用NetTcpBinding或任何其他类型的绑定(我们确实使用了多种类型的绑定)并不重要。
  • 我们节省了很多往返数据库的次数
  • 我们可以在不同的平台上使用相同的令牌

我知道它可能没有回答你的具体问题,但是当你仍在决定你的系统的层内架构时,它可能会给你一些值得思考的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM