WebSphere上的SAML2.0 WebSSO实战与WAS认证处理

需积分: 10 1 下载量 31 浏览量 更新于2024-09-11 收藏 226KB PDF 举报
本文主要探讨了如何在WebSphere Application Server (WAS)环境中基于SAML2.0实现Single Sign-On (SSO)的功能。SAML2.0是一个重要的身份和访问管理标准,它由OASIS提出,用于在不同系统间安全地交换和验证用户身份。SAML2.0的发展源于SAML1.0,随后融合了ID-FF和Shibboleth等认证框架,扩展了XML、XMLSchema、XMLSignature、XMLEncryption等技术。 在基于SAML2.0的WebSphere SSO场景中,客户端和服务端通过WebBrowserSSOProfile进行交互。客户端通常会发起一个SAMLRequest请求,该请求包含了用户的身份信息。当用户访问服务端的应用时,如果他们已经过一次身份验证,WAS会检查这个请求中的SAMLResponse,这是一个包含用户信息和授权状态的XML消息。如果响应有效,WAS会验证并利用该信息完成无感知的登录,即单点登录(Single Sign-On)。 本文详细介绍了WAS如何处理客户端的SAMLResponse,包括定制化的Trust Anchor Identifier (TAI),它负责验证接收到的SAML断言。此外,文章还涉及到了SAML2.0协议的四个核心部分:SAML Assertions(数据格式),SAML Protocols(消息格式),SAML Bindings(通信协议绑定),以及SA-Metadata(元数据,用于描述SAML实体和服务)。 对于开发人员来说,这是一篇实用的指南,提供了在实际项目中如何配置和管理WAS以支持SAML2.0单点登录功能的深入见解。读者可以从中了解到SAML2.0的体系结构、协议流程以及在WebSphere这样的企业级应用服务器上的具体实现步骤。适合中高级技术水平的开发者参考,对于理解和部署安全的分布式应用程序具有重要意义。
2019-04-10 上传
aml是一种xml格式的语言。 翻译过来大概叫 安全断言(标记)语言。 这里有两个点: 第一是“安全”, 第二是“断言(assertion)”。 用人话翻译saml就是 用安全的方式表达断言一种语言。 先看它的核心概念“断言”。 断言是什么? 就是做出判断的语言。比如一句话: 小明是超级管理员。 这就是一个断言。再来一个例子:小红没有权限读取根目录。这也是一个断言。 这种“做出判断的语句”我们在很多场合都需要用到。 比如你在网上尝试登陆一个服务的时候, 这个服务需要知道你是不是合法的用户。 这个时候如果你能提供一个“安全,可靠,可信任”的断言:“小明有权登陆XX服务”, 那么这个服务就知道你合法了, 于是就能为你提供服务了。 这个例子比较抽象,但基本上能表达断言在实际用例中的作用了。 实际上saml的大部分用例就在于证明你是谁,你拥有什么权限等等了。 saml中大部分主要内容也都是类似于:你是谁, 你有什么。。等等这些简单的语句。 详细内容后面会介绍。 接下来第二个概念就是“安全”了。 你能提供一个断言, 别人能不能假冒你提供一个断言从而骗取服务端的信任呢? 另外服务端为什么会信任你给的断言呢? 这就涉及到安全的问题了。为了防止断言被假冒,篡改。saml中加入了安全措施。 当然现今能抵御假冒,篡改,重放攻击的利器就是公钥-私钥系统了。 通过给断言加上签名和加密,再结合数字证书系统就确保了saml不受攻击。