主题
企业架构
使用 WebLogic Server9.2 中的 SAML 配置单点登录
页面: 1, 2, 3, 4, 5
为保障SAML源站点和目标站点之间的通信安全,应该将源站点和目标站点之间的通信进行加密。此外,应该使用证书来验证对方在SAML交互过程中的身份。在这个步骤中,我们将创建并注册在源站点和目标站点之间通信所使用的证书。
使用keytool实用工具(JDK的一部分)生成密匙。默认情况下,已为 domainA和 domainB配置了名为 DemoIdentity.jks的密钥库。
以下将介绍如何生成私有密匙和证书,以进行测试:
keytool -genkey -keypass testkeypass -keystore DemoIdentity.jks -storepass DemoIdentityKeyStorePassPhrase -keyalg rsa -alias testalias

图2. 生成SSL测试证书的截屏
如图2所示,使用-export选项运行keytool命令来生成名为testalias.der的密匙文件:
keytool -export -keypass testkeypass -keystore DemoIdentity.jks -storepass DemoIdentityKeyStorePassPhrase -alias testalias -file testalias.der
首先进行SAML源站点配置。
在这个步骤中,我们将创建并配置一个SAML Credential Mapper V2实例。作为SAML安全断言的生成程序,SAML Credential Mapper可以使 domainA成为使用SAML实现单点登录的源站点。
SAML安全断言是一种信息包,包含SAML授权(指的是断言方)提供的一个或多个声明。声明有如下几种类型:身份验证声明、特性声明以及授权决策声明等。
先配置一个SAML Credential Mapper V2实例(注:BEA WebLogic Server 9.2不支持SAML Credential Mapper V1):
(http://localhost:7001/console)。

图3. 创建新的SAML凭据映射提供程序

图 4. SAML 凭据映射提供程序设置
此处的SAML凭据映射提供程序配置为使 domainA以源站点身份进行运作(SAML安全断言的源);还配置为使用在步骤四中生成的密匙库。
这一步将创建并配置信任方。将WebLogic Server配置为SAML的安全断言源时,您需要注册可能要求接受SAML断言的信任方。对于SAML信任方,您可以指定以下几项:所使用的SAML配置文件、信任方的详细信息及信任方的断言中所期望的特性。
信任方决定其是否信任断言方所提供的断言。SAML定义了一些机制,能够使信任方信任向其提供的断言。

图 5. 信任方的配置
| 参数 | 值 |
|---|---|
| 启用 | 选中该复选框(真值) |
| 目标URL | http://localhost:7003/appB/admin/services.jsp |
| 断言使用者URL | https://localhost:7004/samlacs/acs |
| 断言使用者参数 | APID=ap_00001 |
| 要求签名 | 选中该复选框(真值) |
| 包括Keyinfo | 选中该复选框(真值) |
表 3. 信任方(rp_00001)的各种值
尽管信任方可选择信任向其提供的关于用户ssouser的断言,但 domainB中的目标站点应用程序appB的本地访问策略才能决定该主题(ssouser)是否可以访问本地资源。