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值映射到用户管理域名。 每个映射必须位于不同的行上:
domain1=UMdomain1
domain2=UMdomain2
domain3=UMdomain3
有关配置允许的引用器的步骤,请参阅配置允许的引用器。
在Windows环境中将Active Directory用作LDAP服务器时,可以使用简单和受保护的GSSAPI协商机制(SPNEGO)启用单一登录(SSO)。 启用SSO后,AEM表单用户登录页面不是必需的,也不显示。
您还可以使用HTTP头启用SSO。 (请参阅使用HTTP头启用SSO。)
AEM Forms在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。 确保已选择“密码永不过期”,且未选择其他选项。
单击“Next(下一步)” ,然后单击“Finish(完成)”。
获取KtPass实用程序。 此实用程序用于将SPN映射到REALM。 您可以作为Windows服务器工具包或资源工具包的一部分获得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。
REALM: 域控制器的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会将该站点视为本地Intranet站点。 如果您为站点使用完全限定的名称,则必须将该站点添加为受信任的站点。
配置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.negotiate-auth.trusted-uri,并根据您的环境键入以下命令之一:
.um.lc.com
-将Firefox配置为允许SPNEGO访问以um.lc.com结尾的任何URL。确保包含点(“”)。 开始时。
lcserver.um.lc.com
-将Firefox配置为仅允许特定服务器使用SPNEGO。请勿将此值与点("。")开始。
通过访问应用程序测试配置。 应显示目标应用程序的欢迎页面。