5.2 安全断言标识语言——SAML
5.2.1 跨域访问
在利用Web服务开发的分布式系统中通常需要支持跨域访问。例如,在应用Web服务实现的B2B商业系统中,一个公司需要整合其他公司的资源来完成功能,如公司需要银行的服务来完成资金交易。
跨域访问示意如图5-8所示,其中两个独立的域都有自己的验证服务器负责管理本域的用户、系统和服务。
错误!
![]() |
| 图5-8 跨域访问示意 |
为了实现域A的用户或者系统程序访问域B的服务,有如下多种解决方法。
(1)域B的验证服务器负责验证所有请求用户
当其他域的用户或者程序请求域B的服务时,域B的验证服务器管理这些用户,这样的方式从实现上来说是很难的。首先是加重了域B的验证服务器的管理任务;其次,对于可能来自不可知域的有些用户进行管理时存在困难;其三是有些域的用户或者系统信息不方便由其他域管理,例如B域是一个公司,A域是一家银行,银行可能不让B来管理自己的用户信息。
(2)建立中心验证服务器
所有需要参与跨域协作的多方建立一个中心验证服务器,由其完成跨域访问所需要的各种验证功能。所有跨域访问的参与者都需要到中心验证服务器注册,其示意如图5-9所示。
错误!
![]() |
| 图5-8 跨域访问示意 |
采取中心验证服务器也有很多不足,一是所有参与跨域访问的参与者都需要到中心验证服务器注册登记,这样很麻烦,尤其是对于协作变化比较频繁的情况;二是中心验证服务器的管理问题,显然拥有中心验证服务器的管理权对公司是有利的,但这样也会带来管理访问的问题。
(3)松耦合(Loose Coupling)协作方式
以上的跨域访问实现方式都有很多不足,一个重要的原因是其协作的各方需要紧密的关系才能够实现,因此需要一种松耦合的协作方式。
松耦合的协作方式即各域独立管理自己的用户、系统和服务,跨域访问的用户或者系统程序通过本域的验证服务器颁发的断言(Assertion)来证明自己,其示意如图5-10所示。
错误!
![]() |
| 图5-10 松耦合跨域访问示意 |
断言是由一权威中心声称、声明或者陈述的一些事实,即某一个实体对另一个实体某些方面的一种证明。如域A的验证服务器为A域用户User颁发一个身份验证断言,表明对用户身份的证明。
断言有多种类型,如身份断言(Authentication Assertion)是对身份的证明;属性断言(Attribute Assertion)是对用户的某种拥有特性的证明,如生日证明;授权决策断言(Authorization Decision Assertion)是对某特定用户对特定资源的访问权限的证明。
为了通过断言方式实现松耦合的跨域协作方式,需要一种标准化的实现方式,SAML(Secure Assertion Markup Language)就是为了实现描述断言及其相应的交互协议而设计的一个标准。在SAML中,断言是一个核心概念。
| 回书目 上一节 下一节 |
|
· 第六章 你能帮我吗?.. · Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. |
· 08年5月各大网上书店及.. · 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. |
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||