| 网站首页 | 测试咨讯 | 新手入门 | 专注性能 | 测试技术 | 测试管理 | 测试工具 | 开发社区 | 工具下载 | 资料下载 | 测试论坛 | 

[CNTester联盟群]交流群:34446273/21968356/64461572 白盒群:18400216 自动化群:2706508 性能群:4498858 外包群:59649884 管理群(需有管理经验):64442523

新手入门
 入门指南
 经验之谈
测试咨讯
 行业新闻
 网站动态
 人才就业
 CNTester基金
 标准规范
专注性能
 性能测试知识
 性能测试工具
 程序设计性能
 数据库性能
 Web应用服务器性能
 操作系统性能
 服务器与网络性能
测试技术
 用例设计
 性能测试
 自动化测试
 Web测试
 面向对象测试
 综合技术
 阶段性测试
 行业类测试
测试管理
 项目管理
 项目案例
 质量管理
 软件过程
测试工具
 Mercury系列
 Rational系列
 测试管理工具
 性能测试工具
 功能测试工具
 单元测试工具
 其它测试工具
开发社区
 Java技术
 DotNet技术
 C技术
 数据库技术
 操作系统
 服务器与中间件
工具下载
 测试工具
 开发工具
 企业工程
 网络通信
 媒体桌面
 游戏娱乐
 其他工具
资料下载
 测试资料
 程序设计
 数据库
 操作系统
 应用服务器
 电子期刊
 其他资料
 
 
您现在的位置: 中国测试员网站 >> 开发社区 >> 服务器与中间件 >> 文章正文
  [确保 WebLogic Server 安全]使用 Web 浏览器和 HTTP 客户端配置单一登录           ★★★ 【字体:
[确保 WebLogic Server 安全]使用 Web 浏览器和 HTTP 客户端配置单一登录
作者:BEA WebL…    文章来源:BEA    点击数:    更新时间:2007-8-13    

以下部分描述如何通过基于安全声明标记语言(Security Assertion Markup Language,简称 SAML)1.1 的身份验证来使用 Web 浏览器或其他 HTTP 客户端设置单一登录(Single Sign-on,简称 SSO)。

 


基于 SAML 的单一登录概述

使用安全声明标记语言 (SAML) 可以实现运行在 WebLogic Server 域及 Web 浏览器或其他 HTTP 客户端中的 Web 应用程序或 Web Service 间的跨平台的身份验证。WebLogic Server 支持基于 SAML 的单一登录 (SSO)。当用户在某个参与单一登录 (SSO) 配置的站点上通过身份验证后,则 SSO 配置中的其他站点会自动通过对这些用户的身份验证,而无需对这些站点单独登录。

SAML SSO 的工作方式如下:

  1. Web 用户通过 SAML 源站点的身份验证。
  2. 该用户尝试访问位于配置为通过 SAML 声明接受身份验证的目标站点上的目标资源。
  3. 通过一个或多个步骤(例如,重定向),该用户到达源站点的站点间传输服务(Intersite Transfer Service,简称 ITS)。WebLogic Server SAML 凭据映射提供程序可以充当 ITS。ITS 创建对用户进行身份验证的安全声明。
  4. 通过一系列 HTTP 交换,将用户浏览器传输到 SAML 目标站点上的声明使用者服务(Assertion Consumer Service,简称 ACS)。WebLogic Server SAML 标识声明提供程序可以充当 ACS。
  5. 通过协议交换,将有关源站点提供的 SAML 声明的信息以及与用户和所需目标关联的信息从源站点传达到目标站点。
  6. 目标站点的 ACS 将检查声明和目标信息,以确定是否允许对目标资源进行访问。如果访问得到授权,目标站点会将来自源站点的用户接受为通过身份验证的用户,从而实现基于 Web 的 SSO。

有关 WebLogic Server 如何实现 SAML 的一般概述,请参阅“了解 WebLogic 安全性”中的通过 SAML 的 Web 浏览器和 HTTP 客户端使用 WebLogic 安全框架单一登录。有关增加 Web Service 的安全性的详细信息,请参阅“WebLogic Server 的 Web Service 编程”中的配置安全

有关 SAML 的详细信息,请参阅 http://www.oasis-open.org

 


使用 SAML 进行单一登录:主要步骤

要通过 SAML 启用单一登录,请将 WebLogic Server 配置为 SAML 源站点和 SAML 目标站点。本部分将概述主要的步骤;有关详细信息,请参阅配置 SAML 源站点以进行单一登录配置 SAML 目标站点以进行单一登录

  1. 在安全领域中创建并配置 SAML 凭据映射提供程序。请参阅配置 SAML 凭据映射提供程序
  2. 配置服务器的源站点联合服务。
  3. 创建并配置要为其生成 SAML 声明的 SAML 依赖方。
  4. 如果要求 SAML 依赖方使用 SSL 证书连接到声明检索服务,请向 SAML 凭据映射提供程序的证书注册表中添加一些此类证书。
  5. 在安全领域中创建并配置 SAML 标识声明提供程序。请参阅配置 SAML 标识声明提供程序
  6. 配置服务器的目标站点联合服务。
  7. 创建并配置要使用其 SAML 声明的 SAML 声明方。
  8. 在由 SAML 标识声明提供程序维护的证书注册表中注册源站点的 SSL 证书,以此来建立信任。请参阅证书注册表

 


配置 SAML 源站点以进行单一登录

本部分描述如何将 WebLogic Server 配置为 SAML 源站点。

配置 SAML 凭据映射提供程序

在安全领域中,创建一个 SAML 凭据映射提供程序版本 2 实例。SAML 凭据映射提供程序不是默认安全领域的一部分。请参阅配置 SAML 凭据映射提供程序

使用发行方 URI、名称限定符和其他特性将 SAML 凭据映射提供程序配置为一个 SAML 颁发机构。

配置源站点联合服务

将 WebLogic Server 实例配置为 SAML 源站点的过程受 FederationServicesMBean 控制。使用 WebLogic 脚本工具或通过管理控制台的“环境: 服务器: ServerName: 配置: 联合服务: SAML 1.1 源站点”页可访问 FederationServicesMBean。请参阅“管理控制台联机帮助”中的配置 SAML 源服务

按以下方式配置 SAML 源站点特性:

  • 启用 SAML 源站点。通过将“已启用源站点”设置为 Ture 可使 WebLogic 服务器实例充当 SAML 源站点。
  • 设置源站点 URL 和服务 URI。设置 SAML 源站点的 URL。该 URL 用于承载站点间传输服务和声明检索服务。源站点 URL 会被编码为使用十六进制和 Base64 的源 ID。在配置浏览器/工件配置文件的 SAML 声明方时,应指定此已编码源 ID。

    另外,还应指定站点间传输服务和(为支持浏览器/工件配置文件)声明检索服务的 URI。声明方的配置中也指定了这些 URI。

  • 添加签署证书。SAML 源站点需要使用可信证书才能签署声明。将该证书添加到密钥库并输入将用于访问证书的凭据(别名和密码)。默认情况下,如果未提供签署别名和密码,将使用服务器的 SSL 标识密钥/证书。
  • 配置声明检索服务的 SSL。通过将 FederationServicesMBean.arsRequiresSSL 设置为 True,可以要求所有对声明检索服务的访问都使用 SSL。通过将 arsRequiresSSLARSRequiresTwoWaySSL 都设置为 True 可以要求对声明检索服务使用双向 SSL 身份验证。

配置依赖方

SAML 依赖方是依赖于 SAML 源站点所生成的 SAML 声明信息的实体。可以为每个依赖方单独配置 WebLogic Server 生成 SAML 声明的方式,也可以使用由联合服务源站点建立的默认方式来生成声明。

可以在管理控制台的“安全领域: RealmName: 提供程序: 凭据映射器: SAMLCredentialMapperName: 管理: 依赖方”页上配置依赖方。请参阅“管理控制台帮助”中的创建 SAML 依赖方配置 SAML 依赖方

也可以使用 WebLogic 脚本工具配置依赖方。请参阅使用 WLST 配置依赖方和声明方

配置支持的配置文件

在配置 SAML 依赖方时,可以指定对工件配置文件或 POST 配置文件的支持,以实现 SAML SSO。还可以将依赖方配置为支持 WSS/Holder-of-Key 或 WSS/Sender-Vouches 配置文件,以确保 Web Service 安全。请确保配置对 SAML 目标站点所支持的配置文件的支持。

如果支持 POST 配置文件,则可为依赖方创建要在 POST 配置文件声明中使用的形式,并在“POST 形式”特性中设置此形式的路径名。

声明使用者参数

对于每个 SAML 依赖方,可以配置一个或多个将在重定向到目标站点时添加到 ACS URL 中的可选查询参数(例如,合作伙伴 ID)。对于 POST 配置文件而言,在使用默认的 POST 形式时,这些参数将作为形式变量包含。如果使用自定义 POST 形式,则这些参数将作为名称和值的映射来使用,但可能会也可能不会将此形式构造成在已发布数据中包括这些参数。

替换默认声明存储

WebLogic Server 使用简单的声明存储来维护已生成声明的持久性。可以将此声明存储替换为实现 weblogic.security.providers.saml.AssertionStoreV2 的自定义声明存储类。使用 FederationServicesMBean.AssertionStoreClassName 特性将 WebLogic Server 配置为使用自定义声明存储类,而不使用默认类。可以使用 FederationServicesMBean.AssertionStoreProperties 特性对将传递给自定义声明存储类的 initStore() 方法的属性进行配置。可以在管理控制台的“环境: 服务器: ServerName: 配置: 联合服务: SAML 1.1 源站点”页上配置这些特性。

 


配置 SAML 目标站点以进行单一登录

本部分描述如何将 WebLogic Server 配置为 SAML 目标站点。

配置 SAML 标识声明提供程序

在安全领域中,创建并配置一个 SAML 标识声明提供程序版本 2 实例。SAML 标识声明提供程序不是默认安全领域的一部分。请参阅配置 SAML 标识声明提供程序

配置目标站点联合服务

在将 WebLogic 配置为 SAML 目标站点之前,必须先在安全领域中创建 SAML 标识声明提供程序版本 2 实例。将 WebLogic Server 实例配置为 SAML 目标站点的过程受 FederationServicesMBean 控制。可以使用 WebLogic 脚本工具或通过管理控制台的“环境: 服务器: ServerName: 配置: 联合服务: SAML 1.1 目标站点”页来访问 FederationServicesMBean

按以下方式配置 SAML 目标站点特性。

启用 SAML 目标站点

通过将“已启用目标站点”设置为 True 可使 WebLogic Server 实例充当 SAML 目标站点。

设置声明使用者 URI

设置 SAML 标识使用者服务的 URI。该 URL 用于接收来自源站点的声明,以便目标站点可以使用这些声明来对用户进行身份验证。依赖方的配置中也指定了声明使用者 URI。

配置声明使用者服务的 SSL

通过将 FederationServicesMBean.acsRequiresSSL 设置为 True 可以要求所有对声明使用者服务的访问都使用 SSL。

添加 SSL 客户端标识证书

SAML 目标站点使用可信证书来签署 POST 配置文件响应。将该证书添加到密钥库并输入将用于访问证书的凭据(别名和密码)。

配置一次性使用策略和用过的声明缓存或自定义声明缓存

可以要求每个 POST 配置文件声明最多只能使用一次。WebLogic Server 维护用过的声明的缓存,以便它能支持声明的一次性使用策略。可以将该声明缓存替换为实现 weblogic.security.providers.saml.SAMLUsedAssertionCache 的自定义声明缓存类。使用 FederationServicesMBean.SAMLUsedAssertionCache 特性将 WebLogic Server 配置为使用自定义声明缓存类,而不是使用默认类。可以使用 FederationServicesMBean.UsedAssertionCacheProperties 特性对将传递给自定义声明缓存类的 initCache() 方法的属性进行配置。可以在管理控制台的“环境: 服务器: ServerName: 配置: 联合服务: SAML 1.1 目标站点”页上配置这些特性。

配置 POST 配置文件的接收方检查

可以要求 SAML 响应的接收方必须与 HTTP 请求中 URL 匹配。通过设置“已启用 POST 接收方检查”特性可以实现此目的。

配置声明方

SAML 声明方是一个可信的 SAML 颁发机构(能够以 SAML 声明形式创建具有权威性的声明安全信息的实体)。可以使用管理控制台中的“安全领域: RealmName: 提供程序: 凭据映射器: SAMLCredentialMapperName: 管理: 声明方”页配置声明方。请参阅“管理控制台联机帮助”中的创建 SAML 声明方配置 SAML 声明方

也可以使用 WebLogic 脚本工具配置声明方。请参阅使用 WLST 配置依赖方和声明方

配置支持的配置文件

在配置 SAML 声明方时,可以指定对工件配置文件或 POST 配置文件的支持,以实现 SAML SSO。还可以将声明方配置为支持 WSS/Holder-of-Key 或 WSS/Sender-Vouches 配置文件,以确保 Web Service 安全。

配置源站点 ITS 参数

对于每个 SAML 声明方,可以配置零个或多个将在重定向到源站点时添加到 ITS URL 中的可选查询参数(例如,合作伙伴 ID)。

使用 WLST 配置依赖方和声明方

SAML 合作伙伴(依赖方和声明方)在注册表中维护。可以使用 WebLogic 管理控制台或 WebLogic 脚本工具配置 SAML 合作伙伴。以下示例说明如何在联机模式下使用 WLST 配置两个依赖方。

清单 7-1 使用 WLST 创建依赖方
connect('weblogic','weblogic','t3://localhost:7001')
rlm=cmo.getSecurityConfiguration().getDefaultRealm()
cm=rlm.lookupCredentialMapper('samlv2cm')
rp=cm.newRelyingParty()
rp.setDescription('test post profile')
rp.setProfile('Browser/POST')
rp.setAssertionConsumerURL('http://domain.example.com:7001/saml_destination/acs')
rp.setAssertionConsumerParams(array(['APID=ap_00001'],String))
rp.setSignedAssertions(true)
rp.setEnabled(true)
cm.addRelyingParty(rp)
rp=cm.newRelyingParty()
rp.setDescription('test artifact profile')
rp.setProfile('Browser/Artifact')
rp.setAssertionConsumerURL('http://domain.example.com:7001/saml_destination/acs')
rp.setAssertionConsumerParams(array(['APID=ap_00002'],String))
rp.setARSUsername('foo')
rp.setARSPassword('bar')
rp.setSSLClientCertAlias('demoidentity')
rp.setEnabled(true)
cm.addRelyingParty(rp)
disconnect()
exit()

以下示例说明如何编辑现有的声明方。此示例使用声明方 ID 获取声明方并设置声明检索 URL。

清单 7-2 使用 WLST 编辑声明方
connect('weblogic','weblogic','t3://localhost:7001')
rlm=cmo.getSecurityConfiguration().getDefaultRealm()
ia=rlm.lookupAuthenticationProvider('samlv2ia')
ap=ia.getAssertingParty('ap_00002')
ap.setAssertionRetrievalURL('https://hostname:7002/samlars/ars')
ia.updateAssertingParty(ap)
disconnect()
exit()
文章录入:root    责任编辑:root 
  • 上一个文章:

  • 下一个文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
    最新热点 最新推荐 相关文章
    · 面向对象设计与编程核心技术
    · Tomcat系统安全管理与权限管理
    · 雅虎公司C#笔试题
    · 利用Java事件处理机制实现录制、回放功能
    · apache+tomcat+mysql负载均衡和集群
    · Linux 指令大全
    · 应用服务器内存泄露问题诊断一例
    · 追求代码质量: 软件架构的代码质量
    · 对话 UNIX
    · 关于一些算法问题与朋友的讨论
    · 对话 UNIX
    · nmon 性能:分析 AIX 和 Linux 性能的免费
    · 追求代码质量: 谨防紧密耦合!
    · 应用服务器内存泄露问题诊断一例
    · Linux 指令大全
    · C 编程最佳实践
    · LPI 证书 101 考试准备,第2部分 [正则表
    · LPI 证书 101 考试准备,第1 部分 [使用L
    · Linux 究竟是什么?
    · 利用Java事件处理机制实现录制、回放功能
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
     
     
     
    ======> [CNTester联盟群]交流群:34446273/21968356/64461572 白盒群:18400216 自动化群:2706508 性能群:4498858 外包群:59649884 管理群(需有管理经验):64442523
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | 

    Copyright@2007 by CNTester.com 中国测试员网站 桂ICP备07005590

    本站为开源免费网站,非商业赢利性组织。本站文章部分从网络搜索获取,如果您认为某些侵犯了您的权益,麻烦您联系本站,我们会尽快删除相关内容,同时也希望您的谅解,我们的初衷是为了让更多人去学习这方面的知识,让行业有更好的发展。

    联系电话: 15021358905