主题
企业架构
使用 WebLogic Server9.2 中的 SAML 配置单点登录
页面: 1, 2, 3, 4, 5
在这个步骤中,我们将为运行应用程序 appB的服务器实例配置各种目标站点设置。这些设置使得运行在 domainB上的服务器实例作为SAML目标站点进行工作,定义服务URI(如,Assertion Consumer Service URI),添加证书以便对POST配置文件响应进行签名以及配置Assertion Consumer Service的SSL。

图10. SAML目标站点的设置
| 参数 | 值 |
|---|---|
| 启用目标站点 | 选中该复选框(真值) |
| 断言使用者URI | /samlacs/acs |
| ACS要求SSL | 选中该复选框(真值) |
| SSL客户机身份别名 | testalias |
| SSL Client Identity Pass Phrase | testkeypass |
| 启用POST Recipient Check | 选中该复选框(真值) |
| 启用POST one Use Check | 选中该复选框(真值) |
| Used Assertion Cache Properties | APID=ap_00001 |
表 6. 目标站点的各种值
打开浏览器,指向URL http://localhost:7001/appA/,以便对单点登录进行测试。为 appA配置的基于FORM的身份验证将显示login.jsp页面;如图11所示。输入在步骤二中生成的ssouser值及demosaml值。

图11. 显示appA登录的浏览器
将使用为 domainA配置的默认身份验证程序对该用户进行验证。
然后将显示auth.jsp页面。该页面包含指向 appB的链接( http://localhost:7003/appB/admin/services.jsp),如图12所示。单击该链接,将触发对ITS servlet的调用,并导致生成断言,然后将控制传送至目标站点。

图 12. 显示appA成功登录目标站点(domainB上的appB)链接的浏览器
一旦在目标站点验证该断言,ssouser便可访问services.jsp页面,如图13所示。

图13. 显示使用SSO成功登录到appB的浏览器
如果ssouser首先访问目标站点将会怎样?在步骤九中,一旦配置完断言方,则Source Site Redirect URI被设置为ITS URL https://localhost:7001/samlits_ba/its;未通过身份验证的用户将被重定向到ITS URL https://localhost:7001/samlits_ba/its。这样做是为了支持先访问目标站点的情况,即如果用户试图未经验证便访问目标站点URL,将被重定向到源站点进行验证,然后获得SAML断言。源站点处的ITS servlet要求用户提供用户名和密码。一旦验证成功,就会重定向到目标站点,同时显示/appB/admin/services.jsp页面。
您可以启用SAML安全调试来了解源站点和目标站点如何通过SAML SSO进行交互。要启用SAML安全调试:

图14. 显示启用SAML调试的WebLogic控制台
然后,便可浏览 domainA及 domainB的AdminServer登录文件,以调试与SAML相关的问题(图15)。

图 15. 显示SAML交互的AdminServer登录
本指南介绍了如何对SAML源站点域和目标站点域进行配置,以便这些域中的Web应用程序在可靠的联邦环境下运作;而实现的基础在于成功地单点登录到SAML源站点上的Web应用程序。这是完全通过使用管理控制台进行配置的典范,很多应用程序的用户都将直接从中受益。
Vikrant Sawant 拥有超过14年的软件开发经验;并广泛地从事基于Java和Java EE的项目。