Sun Java System Instant Messaging 7.2 管理指南

第 5 章 啟用 Instant Messaging 的單次登入 (SSO)

單次登入功能可讓一般使用者僅認證一次 (也就是說,以使用者 ID 與密碼登入) 就可以存取多個應用程式。Sun JavaTM System Access Manager 是用於 Sun Java System 伺服器 SSO 功能的正式閘道。也就是說,使用者必須登入 Access Manager 以存取其他配置有 SSO 功能的伺服器。

例如,適當配置的情況下,使用者可於 Access Manager 登入畫面登入,之後有權以另一個視窗存取 Instant Messenger 而不需要再次登入。同樣地,如果已適當配置 Sun Java System Calendar Server,則使用者可於 Access Manager 登入畫面登入,之後以另一個視窗存取 Calendar 而不需要再次登入。

其他 Communications Suite 伺服器,例如 Messaging Server,會提供兩種部署 SSO 的方式。第一種方式是透過 Access Manager,第二種方式是透過信任圈技術。使用信任圈是實作 SSO 的舊有方式,Instant Messaging 不使用這種方式。儘管透過此方式可提供某些 Access Manager SSO 不可使用的功能,將來所有 SSO 部署都會使用 Access Manager。本章下列各節描述如何使用 Access Manager 來啟用 Instant Messaging 的 SSO 功能:

SSO 限制與注意事項

配置 Instant Messaging 以支援 Access Manager 式的 SSO 與策略

有兩個 iim.conf 參數支援 Instant Messaging SSO。

表 5–1 Instant Messaging 單次登入參數

參數 

說明 

iim_server.usesso

決定認證時 Instant Messaging 伺服器是否依賴於 SSO 提供者。Access Manager 階段作業 API 可讓 Instant Messaging 伺服器驗證用戶端傳送之階段作業的 ID。

可能的值包含: 

0 – 請勿使用 SSO 提供者。

1 – 先使用 SSO 提供者並且在 SSO 驗證失敗時預設為 LDAP。

-1 – 即使 SSO 認證失敗,也僅使用 SSO 提供者而不嘗試 LDAP 認證。

預設值:1 如果當您執行 configure 公用程式時,選擇使用 Access Manager 實現 SSO。否則,預設值是 0

iim_server.ssoprovider

指定實作 com.sun.im.provider.SSOProvider 介面的類別。如果 iim_server.usesso 不為 0,且尚未設定此選項,則伺服器會使用於 Instant Messaging 內定義的預設 Access Manager 式 SSO 提供者。通常,您不會修改此參數。

預設值:無 

Procedure啟用 Instant Messaging 的 SSO

  1. 請確定 Access Manager SDK 與 Instant Messaging 伺服器安裝在相同的主機上。

    如需詳細資訊,請參閱「Sun Java Communications Suite 5 Installation Guide」

  2. 請確定在 Access Manager 主控台 (amconsole) 中將 Instant Messaging 服務指定至組織。

    如果您的部署中正在使用其他 Communications Suite 伺服器產品,例如 Messaging Server,您可能需要為 Instant Messaging 手動配置 Access Manager 式服務。

    如需說明,請參閱將 Instant Messaging 與線上狀態服務增加至 Access Manager 中的子組織以支援單次登入和策略管理

  3. 執行 configure 公用程式。

    如需說明,請參閱安裝後配置 Instant Messaging

  4. 當提示您是否要使用 Access Manager 實現 SSO 功能,請選取 [是]。

  5. 設定 iim.policy.module 參數為 identity:

    1. 開啟 iim.conf 並找到 iim.policy.module 參數。

    2. 設定參數:


      iim.policy.module = "identity"
      
  6. 重新啟動 Instant Messaging 伺服器:

    imadmin start

疑難排解 Instant Messaging 的 SSO

如果有 SSO 方面的問題,第一件要做的事就是檢查 xmppd.log 伺服器記錄檔案與用戶端記錄檔案中是否有錯誤。提昇記錄層級可能會有幫助。新的記錄層級僅在重新啟動伺服器後才會生效。

請確定已在 Access Manager 主控台 (amconsole) 中將 Instant Messaging 服務指定至組織及其上層組織。如需說明,請參閱將 Instant Messaging 與線上狀態服務增加至 Access Manager 中的子組織以支援單次登入和策略管理

請確定並未將 iim.conf 中的 im_server.usesso 參數設定為 0。如需此參數的相關資訊,請參閱表 5–1。如果已將它設定為 0,請完成啟用 Instant Messaging 的 SSO中的步驟。

如果您無法直接登入 Instant Messaging,請查看 xmppd.log 中是否有類似於以下任一項的錯誤:


DEBUG xmppd [com.sun.im.service.util.Worker3] Service        \\
URL not found:session.com.iplanet.sso.SSOException: Service URL not found:

INFO xmppd [com.sun.im.service.util.Worker 3] [Identity]     \\
Failed to create SSO token for USERNAME

INFO xmppd [org.netbeans.lib.collab.util.Worker 1] [LDAP]     \\
pops does not have required objectclass for storing to ldap

如果有此處所列的任一項錯誤,請使用下列步驟來解決問題:

  1. 透過 amconsole 建立使用者,並為其新增認證、配置、Instant Messaging 與線上狀態服務。

  2. 嘗試以您所建立的使用者登入。

  3. 檢查以確定已透過 amconsole 正確地填入 amldapuser 的密碼。

  4. 檢查網域 (例如 o=siroe.com) 中是否有 [認證配置服務實例]。

  5. 檢查在 [認證配置服務實例] 中是否已將 [認證模組] 設定為 [LDAP] 或 [成員]。值應顯示 REQUIRED/SUFFICIENT 的狀態。

    Instant Messaging 僅支援以使用者名稱與密碼登入。如果您正在使用認證鏈,則需要停用它才能使用 Instant Messaging。

  6. 在 [LDAP] 或 [認證模組] 中,輸入 COREamldapuser 密碼。

  7. 在 [核心認證模組配置] 中的 [組織認證配置] 與 [管理員認證配置] 下拉式功能表下選取新建立的 ldapService [認證配置服務實例]。

  8. 再次登入。