AEM表單提供兩種啟用單一登入(SSO)的方式: HTTP標題和SPNEGO。
實作SSO時,若使用者已透過其公司入口網站驗證,則不需要AEM表單使用者登入頁面,也不會顯示。
如果AEM表單無法使用其中一種方法驗證使用者,系統會將使用者重新導向至登入頁面。
您可以使用「門戶配置」頁在應用程式和任何支援通過HTTP標頭傳輸身份的應用程式之間啟用單一登錄(SSO)。 實作SSO時,若使用者已透過其公司入口網站驗證,則不需要AEM表單使用者登入頁面,也不會顯示。
您也可以使用SPNEGO啟用SSO。 (請參閱使用SPNEGO啟用SSO。)
在管理控制台中,按一下「設定>使用者管理>設定>設定入口屬性」。
選擇「是」以啟用SSO。 如果選擇「否」,則頁面上的其餘設定不可用。
視需要設定頁面上的其餘選項,然後按一下「確定」 :
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
有關配置允許的引用的步驟,請參閱配置允許的引用。
在Windows環境中使用Active Directory作為LDAP伺服器時,可以使用簡單且受保護的GSSAPI協商機制(SPNEGO)來啟用單一登錄(SSO)。 啟用SSO時,AEM表單使用者登入頁面不是必要項目,也不會顯示。
您也可以使用HTTP標頭來啟用SSO。 (請參閱使用HTTP標題啟用SSO。)
AEM Forms on JEE不支援在多個子網域環境中使用Kerberos/SPNEGO來設定SSO。
決定要使用哪個網域來啟用SSO。 AEM表單伺服器和使用者必須屬於相同的Windows網域或受信任的網域。
在Active Directory中,建立代表AEM表單伺服器的用戶。 (請參閱建立使用者帳戶。) 如果要配置多個域以使用SPNEGO,請確保每個用戶的密碼不同。 如果密碼不同,SPNEGO SSO將無法工作。
映射服務主體名稱。 (請參閱映射服務主體名稱(SPN)。)
配置域控制器。 (請參閱防止Kerberos完整性檢查失敗。)
按照添加域或編輯和轉換現有域中所述,添加或編輯企業域。 建立或編輯企業域時,請執行以下任務:
添加或編輯包含Active Directory資訊的目錄。
將LDAP添加為身份驗證提供程式。
將Kerberos添加為身份驗證提供程式。 在Kerberos的「新建」或「編輯身份驗證」頁上提供以下資訊:
ipconfig/all
來判斷此IP位址。HTTP/lcserver.um.lc.com
。UM.LC.COM.
password
。配置SPNEGO客戶端瀏覽器設定。 (請參閱配置SPNEGO客戶端瀏覽器設定。)
在SPNEGO中,以用戶身份註冊服務(在域控制器上的Active Directory中)以表示AEM表單。 在域控制器上,轉到「開始」菜單>「管理工具」>「Active Directory用戶和電腦」。 如果「管理工具」不在「開始」菜單中,請使用「控制面板」。
按一下「使用者」資料夾以顯示使用者清單。
按一下右鍵用戶資料夾,然後選擇「新建」>「用戶」。
鍵入名字/姓氏和用戶登錄名,然後按一下下一步。 例如,設定下列值:
輸入密碼。 例如,將其設定為password。 確保已選擇「密碼永不過期」,並且未選擇其他選項。
按「下一步」,然後按一下「完成」。
獲取KtPass實用程式。 此實用程式用於將SPN映射到領域。 您可以在Windows Server工具包或資源工具包中獲得KtPass實用程式。 (請參閱Windows Server 2003 Service Pack 1支援工具。)
在命令提示符下,使用以下參數運行ktpass
:
ktpass -princ HTTP/
@
-mapuser
hostREALMuser
例如,輸入下列文字:
ktpass -princ HTTP/lcserver.um.lc.com@UM.LC.COM -mapuser spnegodemo
您必須提供的值說明如下:
主機: 表單伺服器或任何唯一URL的完全限定名稱。在此範例中,已設為lcserver.um.lc.com。
領域: 域控制器的Active Directory領域。在此範例中,已設為UM.LC.COM。 確保輸入大寫字元的領域。 要確定Windows 2003的領域,請完成以下步驟:
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
spnegodemo
。password
。要使基於SPNEGO的驗證工作正常,客戶端電腦必須是用戶帳戶建立的域的一部分。 您還必須配置客戶端瀏覽器以允許基於SPNEGO的驗證。 此外,需要基於SPNEGO的身份驗證的站點必須是受信任的站點。
如果伺服器是使用電腦名訪問的,例如https://lcserver:8080*,* ,則Internet Explorer不需要任何設定。 如果您輸入的URL不包含任何點("。"),Internet Explorer會將該網站視為本機內部網網站。 如果您對網站使用完全限定的名稱,則必須將網站新增為受信任的網站。
配置Internet Explorer 6.x
https://lcserver.um.lc.com
https://lcserver.um.lc.com:8080/um/login?um_no_redirect=true
配置Mozilla Firefox
在瀏覽器URL方塊中,輸入about:config
隨即顯示about:config - Mozilla Firefox對話方塊。
在「篩選」框中,鍵入negotiate
在顯示的清單中,按一下network.negotiae-auth.trusted-uri ,然後根據您的環境鍵入以下任一命令:
.um.lc.com
— 將Firefox配置為允許以um.lc.com結尾的任何URL使用SPNEGO。請務必加入點("。") 一開始。
lcserver.um.lc.com
— 將Firefox配置為僅允許特定伺服器的SPNEGO。請勿以點("。")開頭此值。
存取應用程式以測試設定。 目標應用程式的歡迎頁面應隨即顯示。