使用Geneva框架构建安全令牌服务(STS)

本文基于 "Geneva" 框架的预发布版本撰写而成。所有信息均有可能发生变更。

本文将介绍以下内容:

使用 Geneva 框架实现安全令牌服务

联合安全性

声明转换

本文使用了以下技术:

Windows Communication Foundation、ASP.NET、Geneva 框架

Microsoft 基于声明的访问 (CBA) 平台战略(代号为 "Geneva")包括 "Geneva" 框架、"Geneva" 服务器和 Windows CardSpace "Geneva"。Geneva 框架可为开发人员提供相关工具来构建基于声明的应用程序和服务(这些服务包括由“安全令牌服务”(STS) 所颁发的令牌),还提供相关工具来构建自定义 STS 和启用 CardSpace 的 Windows 应用程序。虽然 Geneva 服务器是企业级 STS,但 Geneva 框架可以为不需要企业级功能的环境构建自定义 STS。Windows CardSpace Geneva 由 Windows 客户端计算机中作为标识选择器和标识提供者的 Windows CardSpace 演变而来。

在我上一篇介绍 Geneva 框架的文章中,我曾讨论过依靠 STS 颁发的令牌来构建基于声明的 Windows Communication Foundation (WCF) 服务的一种较好方法。在这里,我将使用 Geneva 框架来构建自定义 STS。

在继续阅读本文之前,建议您先阅读一下由 Keith Brown 和 Sesha Mani 合著的Geneva 框架开发人员白皮书和我的上一篇文章“Geneva 框架构建基于声明的 WCF 服务的更好方法”。

安全令牌服务入门

无论是基于 Geneva 服务器的 STS 还是使用 Geneva 框架构建的 STS,其主要作用都是作为安全网关对调用方进行身份验证,并颁发附带描述调用方声明的安全令牌。从前面提到的文章中,您应该能够回想起 STS 身份验证支持多种方案:

从身份验证机制中分离出应用程序和服务,从而使其能够专注于授权相关声明。

支持多种凭据类型,而不会使应用程序和服务的实现变复杂。

支持联合方案,用户可以通过在自身的域中进行身份验证来获得对另一个域中资源的访问权限(通过建立不同域的 STS 之间的信任关系)。

简化标识委派方案,经过身份验证的用户将获得对下游服务的访问权限。

简化声明转换,使相关声明能够用于对应用程序和服务进行授权。

其中的任何方案都可以基于被动联合(基于浏览器)或主动联合(基于 Windows 客户端)。下面我将详细介绍这些方案,同时说明如何使用 Geneva 框架在自定义 STS 中构建相关逻辑。

时间: 2024-10-05 00:50:13

使用Geneva框架构建安全令牌服务(STS)的相关文章

基于Dubbo框架构建分布式服务

Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配置就能够实现分布式服务调用,也就是说服务提供方(Provider)发布的服务可以天然就是集群服务,比如,在实时性要求很高的应用场景下,可能希望来自消费方(Consumer)的调用响应时间最短,只需要选择Dubbo的Forking Cluster模式配置,就可以对一个调用请求并行发送到多台对等的提供方

Geneva框架:构建基于声明的WCF服务的更好方法

本文基于"Geneva"框架的预发布版本撰写而成.所有信息均有可能发生变更. 本文使用以下技术: Windows Communication Foundation "Geneva"框架(以前称为"Zermatt")是用于构建基于声明的应用程序和服务以及实现联合安全方案的新框架代号.它的功能包括用于构建自定义安全令牌服务 (STS) 的探测功能.要求从 ASP.NET 应用程序进行联合身份验证的机制,以及简化 ASP.NET 应用程序和 Windo

WIF基本原理(3)安全令牌服务

安全令牌服务(STS)是用于根据WS-Trust和WS-Federation协议构建.签署和颁发安全令牌的服务组件.实施这些协议需要进行大量的工作,但WIF能为你完成所有这些工作,让那些不精通协议的人不费吹灰之力即可启动并运行STS.可以使用云STS(如LiveID STS).预先构建的STS(如ADFS 2.0),或者如果想要颁发自定义令牌或提供自定义身份验证或授权,可以使用WIF构建自定义的STS.借助WIF即可轻松地构建自己的STS. STS身份验证支持多种方案: q  从身份验证机制中分

使用Java构建微服务

本文讲的是使用Java构建微服务,[编者的话]本文翻译自Dzone Guide to the Java Ecosystem,Dzone是一个关于Java的优秀网站.文中介绍了几种用Java构建微服务的方法,包括Container-less.Self-contained以及In-container.翻译经验不足,如有错误,请慷慨指出. @Container容器技术大会将于2016年1月24日在北京举行,来自爱奇艺.微博.腾讯.去哪儿网.美团云.京东.蘑菇街.惠普.暴走漫画等知名公司的技术负责人将分

使用 Java 构建微服务

快速浏览 在Java生态中,构建微服务的策略包括Container-less,Self-contained,以及In-container等. Container-less微服务将应用及其依赖打包成一个单一的jar文件. Self-contained微服务也是打包成一个单一的Jar文件,但它还包括一个嵌入式框架,这个框架含有可选的第三方lib,当然这些lib是兼容的. In-container微服务打包成一个完整的Java EE容器,该服务在Docker镜像中实现. 基于微服务的架构给架构师和开发

.NET框架与网络服务(上)

网络 .NET框架与网络服务(上)(作者:MSDN 2001年02月06日 10:47) 网络服务(Web Service)是基于网络的分布式应用程序的基本构造模块,而这些程序是以平台.对象模板和多语言方式构建的. 网络服务是建立在象HTTP和XML之类的开放的Internet 标准之上的,并且由此形成了可编程网络理念的基础. 图1 网络服务应用模型 这篇文章详细讲述网络服务以及为其提供支持的技术,这些技术能确保服务被集成到应用程序里去.同时本文将讲述新的Microsoft.NET框架及其对生成

WSE3.0构建Web服务安全(4) MTOM消息传输优化和文件上传、下载

MTOM消息优化传输机制主要应用于大量数据的传输,很多文章中也直接得出结论:使用MTOM文件传输效率高.为什么MTOM的数据传输效率会比别的方式要高?MTOM真的如此完美吗,它有什么不足?什么情况下使用MTOM?这些疑问,本文WSE3.0构建Web服务安全系列文章的第4节:MTOM消息优化传输机制和文件上传.下载--将为您一一解答.本节结构为1.MTOM基础概念2.WSE3.0工具配置MTOM3.代码实现与分析4.总结.最后附上实现代码供大家参考. WSE3.0中引入MTOM机制,给我们借助WS

WSE3.0构建Web服务安全(3) WSE3.0策略配置、证书、签名与实例开发

继WSE3.0构建Web服务安全(1):WSE3.0安全机制与实例开发和WSE3.0构建Web服务安全(2):非对称加密.公钥.密钥.证书.签名的区别和联系以及X.509 证书的获得和管理之后,今天我们继续WSE3.0构建Web服务安全系列文章的第3节:WSE3.0策略配置与实例开发.本节主要讲解如何通过WSE3.0策略配置工具实现Web服务安全,本在全文附带代码讲解.本节结构为1.WSE3.0策略工具介绍2.如何使用WSE3.0策略工具3.代码实现与分析4.总结.最后附上代码供大家下载. 通过

WSE3.0构建Web服务安全(1) WSE3.0安全机制与实例开发

继<WCF分布式应用程序开发必备知识>系列之后,经过一周的时间,我准备了关于如何使用WSE3.0进行Web Service安全开发的文章--<WSE3.0构建Web服务安全>,写出来一起与大家分享.<WCF分布式应用程序开发必备知识系列>第4节Web服务已经涉及到Web服务安全的问题.这个系列仍是对以前技术的整理和学习的文章.我在整理的过程中也收获很多,对整个WSE3.0的安全机制有的新的认识.不管高手还是菜鸟,都希望你能从我的这个系列文章里有所收获.那么我们就来一起学