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,如需转载请自行联系原作者



相关文章
|
1月前
|
存储 运维 安全
盘古分布式存储系统的稳定性实践
本文介绍了阿里云飞天盘古分布式存储系统的稳定性实践。盘古作为阿里云的核心组件,支撑了阿里巴巴集团的众多业务,确保数据高可靠性、系统高可用性和安全生产运维是其关键目标。文章详细探讨了数据不丢不错、系统高可用性的实现方法,以及通过故障演练、自动化发布和健康检查等手段保障生产安全。总结指出,稳定性是一项系统工程,需要持续迭代演进,盘古经过十年以上的线上锤炼,积累了丰富的实践经验。
|
1月前
|
数据采集 人工智能 分布式计算
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
阿里云推出的MaxFrame是链接大数据与AI的分布式Python计算框架,提供类似Pandas的操作接口和分布式处理能力。本文从部署、功能验证到实际场景全面评测MaxFrame,涵盖分布式Pandas操作、大语言模型数据预处理及企业级应用。结果显示,MaxFrame在处理大规模数据时性能显著提升,代码兼容性强,适合从数据清洗到训练数据生成的全链路场景...
96 5
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
|
2月前
|
运维 Kubernetes 调度
阿里云容器服务 ACK One 分布式云容器企业落地实践
阿里云容器服务ACK提供强大的产品能力,支持弹性、调度、可观测、成本治理和安全合规。针对拥有IDC或三方资源的企业,ACK One分布式云容器平台能够有效解决资源管理、多云多集群管理及边缘计算等挑战,实现云上云下统一管理,提升业务效率与稳定性。
|
2月前
|
Cloud Native 关系型数据库 分布式数据库
PolarDB 分布式版 V2.0,安全可靠的集中分布式一体化数据库管理软件
阿里云PolarDB数据库管理软件(分布式版)V2.0 ,安全可靠的集中分布式一体化数据库管理软件。
|
2月前
|
机器学习/深度学习 存储 运维
分布式机器学习系统:设计原理、优化策略与实践经验
本文详细探讨了分布式机器学习系统的发展现状与挑战,重点分析了数据并行、模型并行等核心训练范式,以及参数服务器、优化器等关键组件的设计与实现。文章还深入讨论了混合精度训练、梯度累积、ZeRO优化器等高级特性,旨在提供一套全面的技术解决方案,以应对超大规模模型训练中的计算、存储及通信挑战。
121 4
|
3月前
|
NoSQL Java 数据处理
基于Redis海量数据场景分布式ID架构实践
【11月更文挑战第30天】在现代分布式系统中,生成全局唯一的ID是一个常见且重要的需求。在微服务架构中,各个服务可能需要生成唯一标识符,如用户ID、订单ID等。传统的自增ID已经无法满足在集群环境下保持唯一性的要求,而分布式ID解决方案能够确保即使在多个实例间也能生成全局唯一的标识符。本文将深入探讨如何利用Redis实现分布式ID生成,并通过Java语言展示多个示例,同时分析每个实践方案的优缺点。
101 8
|
5月前
|
运维 Kubernetes 调度
阿里云容器服务 ACK One 分布式云容器企业落地实践
3年前的云栖大会,我们发布分布式云容器平台ACK One,随着3年的发展,很高兴看到ACK One在混合云,分布式云领域帮助到越来越多的客户,今天给大家汇报下ACK One 3年来的发展演进,以及如何帮助客户解决分布式领域多云多集群管理的挑战。
阿里云容器服务 ACK One 分布式云容器企业落地实践
|
6月前
|
UED 存储 数据管理
深度解析 Uno Platform 离线状态处理技巧:从网络检测到本地存储同步,全方位提升跨平台应用在无网环境下的用户体验与数据管理策略
【8月更文挑战第31天】处理离线状态下的用户体验是现代应用开发的关键。本文通过在线笔记应用案例,介绍如何使用 Uno Platform 优雅地应对离线状态。首先,利用 `NetworkInformation` 类检测网络状态;其次,使用 SQLite 实现离线存储;然后,在网络恢复时同步数据;最后,通过 UI 反馈提升用户体验。
148 0
|
6月前
|
机器学习/深度学习 TensorFlow 数据处理
分布式训练在TensorFlow中的全面应用指南:掌握多机多卡配置与实践技巧,让大规模数据集训练变得轻而易举,大幅提升模型训练效率与性能
【8月更文挑战第31天】本文详细介绍了如何在Tensorflow中实现多机多卡的分布式训练,涵盖环境配置、模型定义、数据处理及训练执行等关键环节。通过具体示例代码,展示了使用`MultiWorkerMirroredStrategy`进行分布式训练的过程,帮助读者更好地应对大规模数据集与复杂模型带来的挑战,提升训练效率。
160 0
|
6月前
|
Rust 安全 算法
揭秘Rust语言如何重塑区块链安全:打造坚不可摧的分布式账本新篇章!
【8月更文挑战第31天】自比特币诞生以来,区块链技术凭借其去中心化和不可篡改的特点备受关注。为了应对安全性挑战,Rust 语言凭借其内存安全特性逐渐成为区块链开发的优选。本文探讨了 Rust 如何助力区块链实现更安全的分布式账本。通过示例展示了 Rust 在避免内存泄漏、空指针引用及数据竞争等方面的优势,预示着 Rust 在高性能、高安全性需求的区块链应用中拥有广阔前景。
144 1