您如何将符合 LDAPv3 的目录服务OpenDJ设置为访问管理解决方案OpenAM的外部身份存储?
2 回答
免责声明:这个答案只能作为一个起点,因为经过两天的挖掘,我找不到关于这个主题的任何好的信息。正如 Bernhard 在评论中指出的那样,您不应在生产中使用用户 RootDN。
- 使用 docker 启动这两个服务:
version: "3.4"
services:
openam:
image: openidentityplatform/openam
container_name: am
hostname: openam.example.com
network_mode: host
ports:
- 8080:8080
opendj:
image: openidentityplatform/opendj
container_name: dj
hostname: cts.example.com
network_mode: host
user: root
ports:
- 1389:1389
- 将以下行添加到您的
/etc/hosts
文件中:
127.0.0.1 localhost openam.example.com cts.example.com
docker-compose up -d
在文件所在的文件夹中运行docker-compose.yml
。- 等到两个服务启动。然后运行
docker exec -it dj /bin/bash
以启动 OpenDJ 容器的交互模式。OpenDJ 映像已经带有预配置的身份存储。要检索配置 OpenAM 的所有相关信息,请输入opendj
容器 (cd opendj
) 中的文件夹并运行:
$ bin/status --bindDN "cn=Directory Manager" --bindPassword password
--- Connection Handlers ---
Address:Port : Protocol : State
-------------:----------:---------
-- : LDIF : Disabled
0.0.0.0:636 : LDAPS : Disabled
0.0.0.0:1389 : LDAP : Enabled
0.0.0.0:1689 : JMX : Disabled
0.0.0.0:8080 : HTTP : Disabled
--- Data Sources ---
Base DN: dc=example,dc=com
Backend ID: userRoot
Entries: 203
Replication:
有关上述更多命令以及自行配置服务器,请查看OpenDJ 的社区 How To。
打开浏览器并转到
http://openam.example.com:8080/openam
。如果您在无头 VM 上运行,请查看我的Stackoverflow 问题,因为我遇到了同样的问题。接受条款并单击“继续”。当提示输入默认用户 [amAdmin] 的密码时,输入例如 OpenAM 的 amAdmin 的默认密码
changeit
,然后单击“下一步”:在“服务器设置”选项卡中保留除 cookie 域之外的所有内容。将 cookie 域更改为
.example.com
并单击“下一步”。不要更改“配置存储”选项卡中的任何内容,然后单击“下一步”。
在“用户存储”选项卡中输入配置的 OpenDJ 服务器的信息、OpenDJ 服务器的默认密码以及文件中设置
password
的目录名称,然后单击“下一步”:cts.example.com
docker-compose.yml
不要更改“站点配置”选项卡中的任何内容,然后单击“下一步”。
在“代理信息”选项卡中输入密码(例如
password
),然后单击下一步。完毕!
amadmin
使用先前设置的密码以用户身份检查您的工作登录到 OpenAM changeit
。然后转到Top Level Realm > Data Store > Subjects
:
小心:在您的情况下,您只会看到用户“管理员”和“匿名”,因为您尚未填充您的身份存储。
按照forgerock目录服务器的官方文档,forgerock AM,即使在付费版本中,它的配置方式仍然相同。