在AEM Forms中啟用單一登入

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

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

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

使用HTTP標頭啟用SSO

您可以使用「門戶配置」頁在應用程式和任何支援通過HTTP標頭傳輸身份的應用程式之間啟用單一登錄(SSO)。 實作SSO時,若使用者已透過其公司入口網站驗證,則不需要AEM表單使用者登入頁面,也不會顯示。

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

  1. 在管理控制台中,按一下「設定>使用者管理>設定>設定入口屬性」。

  2. 選擇「是」以啟用SSO。 如果選擇「否」,則頁面上的其餘設定不可用。

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

    • SSO類型: (必要)選取HTTP標題,以使用HTTP標題啟用SSO。

    • 使用者識別碼的HTTP標題: (必要)標題的名稱,其值包含登入使用者的唯一識別碼。用戶管理使用此值在用戶管理資料庫中查找用戶。 從此標題獲取的值應與從LDAP目錄同步的用戶的唯一標識符匹配。 (請參閱使用者設定。)

    • 識別碼值會對應至使用者的使用者ID,而非使用者的唯一識別碼: 將使用者的唯一識別碼值對應至使用者ID。如果用戶的唯一標識符是無法通過HTTP標頭輕鬆傳播的二進位值(例如,如果要從Active Directory同步用戶,則選擇此選項)。

    • 網域的HTTP標題: (非必要)標題的名稱,其值包含網域名稱。只有在沒有單一HTTP標題可唯一識別使用者時,才使用此設定。 若有多個網域,且唯一識別碼僅在網域內為唯一,請使用此設定。 在這種情況下,請在此文本框中指定標題名稱,並在「域映射」框中為多個域指定域映射。 (請參閱編輯和轉換現有域。)

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

      例如,假設網域的HTTP標題為domainName,且其值可能為domain1、domain2或domain3。 在此情況下,請使用域映射將domainName值映射到User Management域名。 每個映射必須位於不同的行:

      domain1=UMdomain1

      domain2=UMdomain2

      domain3=UMdomain3

配置允許的引用

有關配置允許的引用的步驟,請參閱配置允許的引用

使用SPNEGO啟用SSO

在Windows環境中使用Active Directory作為LDAP伺服器時,可以使用簡單且受保護的GSSAPI協商機制(SPNEGO)來啟用單一登錄(SSO)。 啟用SSO時,AEM表單使用者登入頁面不是必要項目,也不會顯示。

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

注意

AEM Forms on JEE不支援在多個子網域環境中使用Kerberos/SPNEGO來設定SSO。

  1. 決定要使用哪個網域來啟用SSO。 AEM表單伺服器和使用者必須屬於相同的Windows網域或受信任的網域。

  2. 在Active Directory中,建立代表AEM表單伺服器的用戶。 (請參閱建立使用者帳戶。) 如果要配置多個域以使用SPNEGO,請確保每個用戶的密碼不同。 如果密碼不同,SPNEGO SSO將無法工作。

  3. 映射服務主體名稱。 (請參閱映射服務主體名稱(SPN)。)

  4. 配置域控制器。 (請參閱防止Kerberos完整性檢查失敗。)

  5. 按照添加域編輯和轉換現有域中所述,添加或編輯企業域。 建立或編輯企業域時,請執行以下任務:

    • 添加或編輯包含Active Directory資訊的目錄。

    • 將LDAP添加為身份驗證提供程式。

    • 將Kerberos添加為身份驗證提供程式。 在Kerberos的「新建」或「編輯身份驗證」頁上提供以下資訊:

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

建立用戶帳戶

  1. 在SPNEGO中,以用戶身份註冊服務(在域控制器上的Active Directory中)以表示AEM表單。 在域控制器上,轉到「開始」菜單>「管理工具」>「Active Directory用戶和電腦」。 如果「管理工具」不在「開始」菜單中,請使用「控制面板」。

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

  3. 按一下右鍵用戶資料夾,然後選擇「新建」>「用戶」。

  4. 鍵入名字/姓氏和用戶登錄名,然後按一下下一步。 例如,設定下列值:

    • 名字:umspnego
    • 用戶登錄名:spnegodemo
  5. 輸入密碼。 例如,將其設定為​password。 確保已選擇「密碼永不過期」,並且未選擇其他選項。

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

映射服務主體名稱(SPN)

  1. 獲取KtPass實用程式。 此實用程式用於將SPN映射到領域。 您可以在Windows Server工具包或資源工具包中獲得KtPass實用程式。 (請參閱Windows Server 2003 Service Pack 1支援工具。)

  2. 在命令提示符下,使用以下參數運行ktpass:

    ktpass -princ HTTP/@ -mapuserhostREALMuser

    例如,輸入下列文字:

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

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

    主機: 表單伺服器或任何唯一URL的完全限定名稱。在此範例中,已設為lcserver.um.lc.com。

    領域: 域控制器的Active Directory領域。在此範例中,已設為UM.LC.COM。 確保輸入大寫字元的領域。 要確定Windows 2003的領域,請完成以下步驟:

    • 按一下右鍵「My Computer(我的電腦)」並選擇「Properties(屬性)」
    • 按一下「電腦名稱」頁簽。 域名值是領域名稱。

    user: 您在上一任務中建立的用戶帳戶的登錄名。在此範例中,其設為spnegodemo。

如果您遇到此錯誤:

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完整性檢查失敗

  1. 在域控制器上,轉到「開始」菜單>「管理工具」>「Active Directory用戶和電腦」。 如果「管理工具」不在「開始」菜單中,請使用「控制面板」。
  2. 按一下「使用者」資料夾以顯示使用者清單。
  3. 按一下右鍵您在上一任務中建立的用戶帳戶。 在此範例中,使用者帳戶為spnegodemo
  4. 按一下「重設密碼」。
  5. 輸入並確認您先前輸入的相同密碼。 在此範例中,其設為password
  6. 取消選擇「Change Password At Next Logon(下次登錄時更改密碼)」 ,然後按一下「OK(確定)」。

配置SPNEGO客戶端瀏覽器設定

要使基於SPNEGO的驗證工作正常,客戶端電腦必須是用戶帳戶建立的域的一部分。 您還必須配置客戶端瀏覽器以允許基於SPNEGO的驗證。 此外,需要基於SPNEGO的身份驗證的站點必須是受信任的站點。

如果伺服器是使用電腦名訪問的,例如https://lcserver:8080*,* ,則Internet Explorer不需要任何設定。 如果您輸入的URL不包含任何點("。"),Internet Explorer會將該網站視為本機內部網網站。 如果您對網站使用完全限定的名稱,則必須將網站新增為受信任的網站。

配置Internet Explorer 6.x

  1. 轉至「工具」>「Internet選項」,然後按一下「安全」頁簽。
  2. 按一下「Local Intranet(本地內部網)」表徵圖,然後按一下「Sites(站點)」。
  3. 按一下「高級」,然後在「將此網站添加到區域」框中,鍵入表單伺服器的URL。 例如,鍵入https://lcserver.um.lc.com
  4. 按一下「確定」(OK),直到關閉所有對話框。
  5. 存取AEM表單伺服器的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.negotiae-auth.trusted-uri ,然後根據您的環境鍵入以下任一命令:

    .um.lc.com — 將Firefox配置為允許以um.lc.com結尾的任何URL使用SPNEGO。請務必加入點("。") 一開始。

    lcserver.um.lc.com — 將Firefox配置為僅允許特定伺服器的SPNEGO。請勿以點("。")開頭此值。

  4. 存取應用程式以測試設定。 目標應用程式的歡迎頁面應隨即顯示。

本頁內容