WCF分布式安全开发实践(0):文章和代码结构规划介绍

简介:
     继 WCF分布式开发步步为赢(14):WCF安全编程--基本概念 概念介绍了简单的WCF安全编程的基本概念之后,我决定正式推出下一个系列:《WCF分布式安全开发实践》。之所以去此名,就是因为侧重点在WCF安全模式的实践编程上,我会给出每种安全模式的实现的Demo代码。本文就是讲解这个系列文章的组织和规划的情况,作为系列的开篇,也就是从0开始:WCF分布式安全开发实践(0):文章和代码结构规划介绍。内容主要涉及WCF安全验证内容的简要回顾,代码组织结构介绍,文章结构介绍,最后就只总结。
    WCF安全概念涉及到很多知识,完全超出我个人的预期。我最近一直在关注这个方面的内容,最大的感受就是WCF安全机制非常的复杂,或者说安全机制强大。WCF安全编程一直是一个重要的领域,因为安全的问题不单单针对WCF服务,还要客户端的配合。
【1】安全验证模式:
    我们先来简单回顾一下WCF身份验证机制,WCF支持的6种身份验证机制可以参考下图:
【1.1】Transport安全模式与客户端验证方式:
绑定协议和客户端验证方式在transport模式下的对应关系:
绑定\客户端凭据
None
Windows
Username
Certificate
BasicHttpBinding
Yes (Default)
Yes
Yes
Yes
NetTcpBinding
Yes
Yes (Default)
No
Yes
NetPeerTcpBinding
No
No
Yes (Default)
Yes
NetNamedPipeBinding
No
Yes (Default)
No
No
WSHttpBinding
Yes
Yes (Default)
Yes
Yes
WSFederationHttpBinding
N/A
N/A
N/A
N/A
WSDualHttpBinding
N/A
N/A
N/A
N/A
NetMsmqBinding
Yes
Yes (Default)
No
Yes

【1.2】消息安全模式与客户端验证方式:
绑定\客户端凭据
None
Windows
Username
Certificate
Issued token
BasicHttpBinding
No
No
Yes
Yes
No
NetTcpBinding
Yes
Yes (Default)
Yes
Yes
Yes
NetPeerTcpBinding
N/A
N/A
N/A
N/A
N/A
NetNamedPipeBinding
N/A
N/A
N/A
N/A
N/A
WSHttpBinding
Yes
Yes (Default)
Yes
Yes
Yes
WSFederationHttpBinding
N/A
N/A
N/A
N/A
N/A
WSDualHttpBinding
Yes
Yes (Default)
Yes
Yes
Yes
NetMsmqBinding
Yes
Yes (Default)
Yes
Yes
Yes
   以上就是WCF在不同的安全模式下,不同的绑定协议所支持的身份验证方式之间的关系。这样的组合多达数十种之多。而我们不能对每种情况都做实现。这里一方面为了学习,另外也是为了结合公司项目的实际情况,我们实现比较常见的WCF安全机制。方面大家的学习和项目实际应用的参考。
【2】代码结构概要:
    这里我把代码整体上按照安全模式和消息模式来分,然后是客户端身份验证方式,在就是绑定协议,做个分类的依据。这里我给出主要的是无身份验证模式None,Basic,自定义用户名密码,和自定义X509证书,Window,Certificate验证方式的Demo代码结构。目前给出的是大概的结构如下:
【3】文章结构概要:
    文章基本的组织接口是介绍每种Demo代码的具体的实现原理和过程,每个文章会详细介绍关键的实现步骤,和应该注意的细节。对代码进行讲解,最后会给出可执行代码供大家参考。应该在10篇左右,因为针对一种安全机制,我就只实现一个绑定协议,例如是WSHTTPBinding的实现,basicHTTPBinding和NetTcpBinding我就不给出了,大家有兴趣的可以拓展,根据实际学习或者项目需要自己实现。代码文章的初步规划如下:
【4】总结
    (1)《WCF分布式安全开发实践》主要针对的是一些常见的验证方式的介绍,并给出可以执行的实例代码。
    (2)应用相对较少的方式,如IssuedToken方式,我在这个系列里就不给出介绍了,如果需要可以再对这个系列文章做个调整。代码结构和文章结构是作个参考,实际可能根据大家的意见做个修改。
    (3)文章的顺序也只是个参考,总体是先从Transport开始,然后介绍Message安全模式下的各种应用。
    但是由于时间关系,我今天的第一个实例代码会先从基于Message安全模式的用户名密码验证方式开始,因为已经写好很久了,传输安全模式相对复杂,下一篇会在介绍,时间紧迫我抓紧时间把基于Message安全模式的用户名密码验证方式文章写完,发布出来。不然没法睡觉~这个介绍文章我就分类到首页的新手区。
    有兴趣学习WCF安全编程的朋友,可以关注这个系列,留言一起交流~
参考文章:
1. WCF分布式开发步步为赢(14):WCF安全编程--基本概念




 本文转自 frankxulei 51CTO博客,原文链接:http://blog.51cto.com/frankxulei/320341,如需转载请自行联系原作者



相关文章
|
3月前
|
存储 监控 负载均衡
检索服务elasticsearch分布式结构
【8月更文挑战第22天】
43 3
|
5天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
21天前
|
NoSQL Java Redis
开发实战:使用Redisson实现分布式延时消息,订单30分钟关闭的另外一种实现!
本文详细介绍了 Redisson 延迟队列(DelayedQueue)的实现原理,包括基本使用、内部数据结构、基本流程、发送和获取延时消息以及初始化延时队列等内容。文章通过代码示例和流程图,逐步解析了延迟消息的发送、接收及处理机制,帮助读者深入了解 Redisson 延迟队列的工作原理。
|
2月前
|
运维 Kubernetes 调度
阿里云容器服务 ACK One 分布式云容器企业落地实践
3年前的云栖大会,我们发布分布式云容器平台ACK One,随着3年的发展,很高兴看到ACK One在混合云,分布式云领域帮助到越来越多的客户,今天给大家汇报下ACK One 3年来的发展演进,以及如何帮助客户解决分布式领域多云多集群管理的挑战。
阿里云容器服务 ACK One 分布式云容器企业落地实践
|
28天前
|
分布式计算 NoSQL Java
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
40 2
|
3月前
|
存储 分布式计算 Hadoop
【揭秘Hadoop背后的秘密!】HDFS读写流程大曝光:从理论到实践,带你深入了解Hadoop分布式文件系统!
【8月更文挑战第24天】Hadoop分布式文件系统(HDFS)是Hadoop生态系统的关键组件,专为大规模数据集提供高效率存储及访问。本文深入解析HDFS数据读写流程并附带示例代码。HDFS采用NameNode和DataNode架构,前者负责元数据管理,后者承担数据块存储任务。文章通过Java示例演示了如何利用Hadoop API实现数据的写入与读取,有助于理解HDFS的工作原理及其在大数据处理中的应用价值。
81 1
|
3月前
|
机器学习/深度学习 人工智能 负载均衡
【AI大模型】分布式训练:深入探索与实践优化
在人工智能的浩瀚宇宙中,AI大模型以其惊人的性能和广泛的应用前景,正引领着技术创新的浪潮。然而,随着模型参数的指数级增长,传统的单机训练方式已难以满足需求。分布式训练作为应对这一挑战的关键技术,正逐渐成为AI研发中的标配。
191 5
|
3月前
|
存储 Kubernetes 监控
深入浅出分布式事务:理论与实践
在数字化时代的浪潮中,分布式系统如同星辰大海般浩瀚而深邃。本文将带你航行于这片星辰大海,探索分布式事务的奥秘。我们将从事务的基本概念出发,逐步深入到分布式事务的核心机制,最后通过一个实战案例,让你亲自体验分布式事务的魅力。让我们一起揭开分布式事务的神秘面纱,领略其背后的科学与艺术。
79 1
|
3月前
|
Go API 数据库
[go 面试] 分布式事务框架选择与实践
[go 面试] 分布式事务框架选择与实践
|
3月前
|
开发者 云计算 数据库
从桌面跃升至云端的华丽转身:深入解析如何运用WinForms与Azure的强大组合,解锁传统应用向现代化分布式系统演变的秘密,实现性能与安全性的双重飞跃——你不可不知的开发新模式
【8月更文挑战第31天】在数字化转型浪潮中,传统桌面应用面临新挑战。本文探讨如何融合Windows Forms(WinForms)与Microsoft Azure,助力应用向云端转型。通过Azure的虚拟机、容器及无服务器计算,可轻松解决性能瓶颈,满足全球用户需求。文中还提供了连接Azure数据库的示例代码,并介绍了集成Azure Storage和Functions的方法。尽管存在安全性、网络延迟及成本等问题,但合理设计架构可有效应对,帮助开发者构建高效可靠的现代应用。
31 0

热门文章

最新文章