Domino web 登入與多機 SSO 怎麼運作

Domino web 登入與多機 SSO 怎麼運作

2026.10.23 約 1,622 字

使用者在瀏覽器登入 Domino 之後,為什麼接下來一路點、開不同資料庫,都不用再登入一次?因為 Domino 用的是 session-based authentication:登入成功後,伺服器發一個 token、塞進一個 cookie,之後瀏覽器每次請求都帶著它,伺服器就認得「你是誰、還在登入狀態」。而當你有好幾台 Domino,想讓使用者登入一台、其他台都通(SSO),那把 token 背後就需要一份共享密鑰的設定。


重點摘要

  • basic vs session:basic authentication 是瀏覽器內建的 HTTP 彈窗,每次請求都把帳密再送一次;session-based authentication 是用登入表單+cookie——登入後伺服器把 token 放進 cookie,之後靠 cookie 認人(所以瀏覽器必須接受 cookie)。
  • single vs multi-server:Single Server 的 cookie 只對這一台有效;Multiple Servers(SSO) 讓使用者「log in once」後,就能到同一 DNS domain 裡其他啟用的伺服器而不必再登入。
  • Web SSO Configuration 文件:一份 domain-wide 的 Domino Directory 文件,要複寫到所有參與的伺服器,裡面有一把 shared secret key,各伺服器用它來驗證使用者憑證(LTPA token)。
  • 會讓 SSO 失敗的硬條件:參與伺服器要在同一 DNS domain、該值要以句點開頭(如 .example.com);URL 要用完整 DNS 名稱(不是 host name 或 IP),因為 cookie 裡的 DNS domain 要和 server URL 相符、且 cookie 不能跨 TCP/IP domain;參與清單只能放 Domino 伺服器(不能用群組/萬用字元);而且所有 SSO 伺服器要用同一種 Internet-access 方式(都用 Internet Site documents、或都用 Server 文件)。
  • 一個大雷:在 Server 文件開了 Internet Sites,既有的 SSO 設定會被自動停用——這跟上一篇Internet Site documents 直接相關。
  • 跟 WebSphere 共用 LTPA:匯入 WebSphere 的 LTPA key 後,就不能再設 SSO idle timeout(WebSphere 會忽略 idle timeout);LTPA realm 在所有參與伺服器要一致;跨 Domino domain 做 SSO 要把同一把 WebSphere LTPA token 匯進每個 domain。

basic 與 session-based 認證

Domino web 的名稱/密碼認證有兩種做法:

  • Basic authentication:官方把它描述成一個「challenge/response 協定」,用來跟使用者要帳號密碼。以 HTTP Basic 的標準行為來說,就是瀏覽器那個內建的認證彈窗,登入後每個請求都把帳密再送一遍;沒有乾淨的「登出」概念,也沒有逾時。
  • Session-based authentication:改用一個登入表單。登入成功後,伺服器產生一個 token、透過 cookie 送回瀏覽器(官方:「the authentication token that is generated by the server is sent to the browser in a cookie」),之後瀏覽器靠這個 cookie 維持登入狀態。因為認證狀態在 cookie 裡,瀏覽器一定要接受 cookie,而且可以有逾時、有真正的登出。

在 Web Site 文件(或 Server 文件)的 session authentication 欄位,就是在這幾個模式間選:Disabled / Single Server / Multiple Servers (SSO)(官方:為 Web Site 文件設定 session 認證)。

  • Single Server:cookie 只對發它的那一台有效。使用者換到另一台 Domino,還是要重新登入。
  • Multiple Servers(SSO):這就是單一登入。官方說它讓 web 使用者「log in once to a Domino or WebSphere server」,之後就能到同一 DNS domain 裡其他啟用的伺服器,不用再登入。

SSO 之所以成立,是因為那個 token 不是某台自己隨便發的——它是用一把各台共享的密鑰簽出來的,所以 B 台收到 A 台發的 token,才驗得過、才認得這個人。

Web SSO Configuration 文件:那把共享密鑰

多機 SSO 的核心是一份 Web SSO Configuration document(官方:建立 Web SSO Configuration):

  • 它是 domain-wide 的文件,放在 Domino Directory。
  • 要複寫到所有參與的伺服器——每台都要有同一份,才有同一把鑰匙。
  • 它「contains a shared secret key used by servers for verifying user credentials」——這把 shared secret key(LTPA token key)就是各台之間互信的根。
  • 一個 domain 技術上可以有多份這種文件(每份要取不同名稱),但官方註明這只在**有限情況下(limited circumstances)**才行得通。

會讓 SSO 失敗的硬條件

SSO 設好卻一直要重登,通常是踩到這幾條(官方:多伺服器 SSO):

  • DNS domain 要一致、且以句點開頭:參與伺服器要在同一個 DNS domain,設定值要像 .example.com 這樣以句點開頭。
  • URL 要用完整 DNS 名稱:不能用 host name 或 IP——因為 cookie 裡的 DNS domain 必須跟 server URL 相符,而且 cookie 不能跨 TCP/IP domain 用。
  • 參與清單只能放 Domino 伺服器:不能放群組、萬用字元、或 WebSphere 伺服器名。
  • 所有 SSO 伺服器要用同一種 Internet-access 方式:全部用 Internet Site documents、或全部用 Server 文件——不能混。

一個大雷:開 Internet Sites 會停用 SSO

這條最容易中、而且症狀很迷惑:在 Server 文件啟用 Internet Sites 時,既有的 SSO 設定會被自動停用(官方:「any existing SSO configuration is automatically disabled」)。

也就是說,如果你照上一篇把伺服器切到 Internet Sites,原本掛在 Server 文件上的 SSO 就不算數了——你得在 Internet Site 那一側(Web Site 文件的 session 認證)重新設定 SSO。切換 Internet Sites 之後「大家又要重新登入了」,十之八九就是這個。

跟 WebSphere 共用 LTPA

想讓 Domino 跟 WebSphere(或跨 Domino domain)共用同一套登入,靠的是 LTPA token,但有幾個限制要先知道:

  • WebSphere 不能直接用 Domino 產生的 LTPA token;做法是從 WebSphere 匯出 token、匯入 Domino,共用同一個 LTPA group。
  • 一旦匯入 WebSphere 的 LTPA key,就不能再設 SSO idle timeout——因為 WebSphere 本身會忽略 idle timeout,那個選項會消失。
  • LTPA realm 在所有參與伺服器必須一致。
  • 要跨多個 Domino domain 做 SSO:讓各 domain 共用同一把 key information(具體作法就是把同一把 WebSphere LTPA token 匯進每個 domain)。

小結

  • basic vs session:basic=HTTP 彈窗每次帶帳密;session=登入表單+cookie 帶 token(要接受 cookie)。
  • single vs multi:Single Server 的 cookie 只對本機;Multiple Servers (SSO) 同一 DNS domain 一次登入到處通。
  • Web SSO Configuration:domain-wide、複寫到所有參與伺服器、含 shared secret key(LTPA)驗憑證。
  • 硬條件:同一 DNS domain(以句點開頭)、URL 用 FQDN、cookie 不跨 TCP/IP domain、只列 Domino 伺服器、所有 SSO 伺服器同一種 Internet-access 方式。
  • 大雷:在 Server 文件開 Internet Sites 會自動停用既有 SSO → 要在 Web Site 那側重設。
  • WebSphere/LTPA:匯入 WebSphere key 就不能設 idle timeout;LTPA realm 要一致;跨 domain 匯同一 token。

參考來源

← 回到文章列表