在AEM表單中啟用單一登入 enabling-single-sign-on-in-aem-forms

AEM forms提供兩種啟用單一登入(SSO)的方式 — HTTP標題和SPNEGO。

實作SSO時,AEM Forms使用者登入頁面不是必要頁面,且若使用者已透過其公司入口網站驗證,也不會顯示。

如果AEM Forms無法使用其中一種方法來驗證使用者,系統會將使用者重新導向至登入頁面。

使用HTTP標頭啟用SSO enable-sso-using-http-headers

您可以使用「入口網站組態」頁面,在應用程式與任何支援透過HTTP標題傳送身分的應用程式之間,啟用單一登入(SSO)。 實作SSO時,AEM Forms使用者登入頁面不是必要頁面,且若使用者已透過其公司入口網站驗證,也不會顯示。

您也可以使用SPNEGO來啟用SSO。 (請參閱 使用SPNEGO啟用SSO.)

  1. 在管理控制檯中,按一下設定>使用者管理>設定>設定入口網站屬性。

  2. 選取「是」以啟用SSO。 如果您選取「否」,頁面上的其餘設定將無法使用。

  3. 視需要設定頁面上的其餘選項,然後按一下「確定」:

    • SSO型別: (必要)選取「HTTP標頭」以使用HTTP標頭啟用SSO。

    • 使用者識別碼的HTTP標題: (必要)標頭的名稱,其值包含登入使用者的唯一識別碼。 「使用者管理」會使用此值在「使用者管理」資料庫中尋找使用者。 從此標頭取得的值應該與從LDAP目錄同步之使用者的唯一識別碼相符。 (請參閱 使用者設定.)

    • 識別碼值對應到使用者的使用者ID,而不是使用者的唯一識別碼: 將使用者的唯一識別碼值對應至使用者ID。 如果使用者的唯一識別碼是無法透過HTTP標頭輕鬆傳播的二進位值(例如,如果您從Active Directory同步使用者,請選取objectGUID),請選取此選項。

    • 網域的HTTP標題: (非必要)其值包含網域名稱的標頭名稱。 只有在沒有單一HTTP標頭可唯一識別使用者時,才使用此設定。 如果有多個網域存在,且唯一識別碼僅在網域中是唯一的,請使用此設定。 在這種情況下,請在此文字方塊中指定標頭名稱,並在「網域對應」方塊中指定多個網域的網域對應。 (請參閱 編輯和轉換現有網域.)

    • 網域對應: (必要)指定格式中多個網域的對應 標頭值=網域名稱.

      例如,假設某個網域的HTTP標頭是domainName,而且它可以有domain1、domain2或domain3的值。 在這種情況下,請使用網域對應將domainName值對應到User Management網域名稱。 每個對應必須位於不同的行:

      domain1=UMdomain1

      domain2=UMdomain2

      domain3=UMdomain3

設定允許的反向連結 configure-allowed-referers

如需設定允許的反向連結的步驟,請參閱 設定允許的反向連結.

使用SPNEGO啟用SSO enable-sso-using-spnego

在Windows環境中使用Active Directory做為LDAP伺服器時,您可以使用簡單且受保護的GSSAPI交涉機制(SPNEGO)來啟用單一登入(SSO)。 啟用SSO時,AEM Forms使用者登入頁面不是必要專案,也不會出現。

您也可以使用HTTP標頭來啟用SSO。 (請參閱 使用HTTP標頭啟用SSO.)

NOTE
JEE上的AEM Forms不支援在多個子網域環境中使用Kerberos/SPNEGO來設定SSO。
  1. 決定要使用哪個網域來啟用SSO。 AEM Forms Server和使用者必須屬於相同的Windows網域或受信任的網域。

  2. 在Active Directory中,建立代表AEM Forms伺服器的使用者。 (請參閱 建立使用者帳戶.) 如果您要設定多個網域來使用SPNEGO,請確定每個使用者的密碼不同。 如果密碼不同,SPNEGO SSO將無法運作。

  3. 對應服務主體名稱。 (請參閱 對應服務主要名稱(SPN).)

  4. 設定網域控制站。 (請參閱 防止Kerberos完整性檢查失敗.)

  5. 新增或編輯企業網域,如所述 新增網域編輯和轉換現有網域. 當您建立或編輯企業網域時,請執行下列工作:

    • 新增或編輯包含Active Directory資訊的目錄。

    • 將LDAP新增為驗證提供者。

    • 將Kerberos新增為驗證提供者。 在Kerberos的「新增驗證」或「編輯驗證」頁面上提供下列資訊:

      • 驗證提供者: Kerberos
      • DNS IP: 執行AEM表單之伺服器的DNS IP位址。 您可以執行以判斷此IP位址 ipconfig/all 在命令列上。
      • KDC主機: 用於驗證的Active Directory伺服器的完整主機名稱或IP位址
      • 服務使用者: 傳遞給KtPass工具的服務主體名稱(SPN)。 在先前使用的範例中,服務使用者為 HTTP/lcserver.um.lc.com.
      • 服務範圍: Active Directory網域名稱。 在先前使用的範例中,網域名稱為 UM.LC.COM.
      • 服務密碼: 服務使用者的密碼。 在先前使用的範例中,服務密碼為 password.
      • 啟用SPNEGO: 允許使用SPNEGO進行單一登入(SSO)。 選取此選項。
  6. 設定SPNEGO使用者端瀏覽器設定。 (請參閱 正在設定SPNEGO使用者端瀏覽器設定.)

建立使用者帳戶 create-a-user-account

  1. 在SPNEGO中,將服務註冊為網域控制站上Active Directory中的使用者,以代表AEM表單。 在網域控制站上,移至[開始]功能表> [系統管理工具] > [Active Directory使用者和電腦]。 如果「管理工具」不在「開始」功能表中,請使用「控制面板」。

  2. 按一下Users資料夾以顯示使用者清單。

  3. 以滑鼠右鍵按一下使用者資料夾,然後選取「新增>使用者」。

  4. 輸入「名字/姓氏」和「使用者登入名稱」,然後按「下一步」。 例如,設定下列值:

    • 名字: umspnego
    • 使用者登入名稱: spnegedemo
  5. 輸入密碼。 例如,將其設為 密碼. 確保已選取「密碼永不過期」,且未選取其他選項。

  6. 按一下「下一步」,然後按一下「完成」。

對應服務主要名稱(SPN) map-a-service-principal-name-spn

  1. 取得KtPass公用程式。 此公用程式用來將SPN對應至REALM。 您可以取得KtPass公用程式作為Windows Server Tool Pack或Resource Kit的一部分。 (請參閱 Windows Server 2003 Service Pack 1支援工具.)

  2. 在命令提示字元中,執行 ktpass 使用下列引數:

    ktpass -princ HTTP/主機 @領域 -mapuser使用者

    例如,輸入下列文字:

    ktpass -princ HTTP/lcserver.um.lc.com@UM.LC.COM -mapuser spnegodemo

    您必須提供的值說明如下:

    主機: Forms伺服器的完整名稱或任何唯一URL。 在此範例中,它被設為lcserver.um.lc.com。

    範圍: 網域控制站的Active Directory範圍。 在此範例中,它被設為UM.LC.COM。 請確定您以大寫字元輸入範圍。 若要確定Windows 2003的範圍,請完成下列步驟:

    • 用滑鼠右鍵按一下「我的電腦」並選取「內容」
    • 按一下「電腦名稱」標籤。 「網域名稱」值是範圍名稱。

    使用者: 您在前一個任務中建立的使用者帳戶的登入名稱。 在此範例中,它被設定為spnegedemo。

如果您遇到此錯誤:

DsCrackNames returned 0x2 in the name entry for spnegodemo.
ktpass:failed getting target domain for specified user.

嘗試將使用者指定為spnegodemo@um.lc.com:

ktpass -princ HTTP/lcserver.um.lc.com@UM.LC.COM -mapuser spnegodemo

防止Kerberos完整性檢查失敗 prevent-kerberos-integrity-check-failures

  1. 在網域控制站上,移至[開始]功能表> [系統管理工具] > [Active Directory使用者和電腦]。 如果「管理工具」不在「開始」功能表中,請使用「控制面板」。
  2. 按一下Users資料夾以顯示使用者清單。
  3. 以滑鼠右鍵按一下您在前一個任務中建立的使用者帳戶。 在此範例中,使用者帳戶為 spnegodemo.
  4. 按一下「重設密碼」。
  5. 輸入並確認您先前輸入的密碼。 在此範例中,它被設為 password.
  6. 取消選取「下次登入時變更密碼」,然後按一下「確定」。

正在設定SPNEGO使用者端瀏覽器設定 configuring-spnego-client-browser-settings

若要讓SPNEGO式驗證能夠運作,使用者端電腦必須是建立使用者帳戶的網域的一部分。 您也必須設定使用者端瀏覽器以允許以SPNEGO為基礎的驗證。 此外,需要以SPNEGO為基礎的驗證的網站必須是受信任的網站。

如果使用電腦名稱(例如https://lcserver:8080)存取伺服器,則Internet Explorer不需要任何設定。 如果您輸入的URL不含任何點(「。」),Internet Explorer會將網站視為近端內部網路網站。 如果您使用網站的完整名稱,則必須將網站新增為信任的網站。

設定Internet Explorer 6.x

  1. 前往「工具>網際網路選項」 ,然後按一下「安全性」標籤。
  2. 按一下「近端內部網路」圖示,然後按一下「網站」。
  3. 按一下「進階」,然後在「將此網站新增至區域」方塊中,輸入Forms伺服器的URL。 例如,輸入 https://lcserver.um.lc.com
  4. 按一下「確定」,直到關閉所有對話方塊。
  5. 存取AEM Forms伺服器的URL以測試設定。 例如,在瀏覽器URL方塊中,輸入 https://lcserver.um.lc.com:8080/um/login?um_no_redirect=true

設定Mozilla Firefox

  1. 在瀏覽器URL方塊中,輸入 about:config

    這時會出現about:config - Mozilla Firefox對話方塊。

  2. 在「篩選」方塊中,輸入 negotiate

  3. 在顯示的清單中,按一下network.negotiate-auth.trusted-uri,然後輸入下列適合您環境的命令:

    .um.lc.com — 將Firefox設定為允許任何以um.lc.com結尾的URL使用SPNEGO。 請務必加入點(「。」) 在開頭。

    lcserver.um.lc.com — 將Firefox設定為僅允許特定伺服器使用SPNEGO。 請勿以點(「。」)作為此值開頭。

  4. 存取應用程式以測試設定。 目標應用程式的歡迎頁面應該會出現。

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2