...
1.2 将Joget域名添加到Windows Server DNS中
...
DNS中
在windows.local DNS区域中,为joget添加A记录以指向Joget服务器IP
测试ping以确保joget.windows.local解析为正确的IP
1.3 为服务创建Windows域用户
在“Active Directory用户和计算机”中,创建域用户joget。这是要映射到Joget服务器使用的服务名称的用户帐户
1.4 注册服务主体名称(SPN)
...
注册服务主体名称(SPN)
在PowerShell中,执行:setspn -s HTTP / {JOGET DOMAIN} {DOMAIN USER}例如
Code Block setspn -s HTTP/JOGET.WINDOWS.LOCAL joget
...
2.1 将Windows域添加到Joget Server 的hosts文件
编辑 /etc/hosts (Linux or macOS) 或者 C:\Windows\System32\drivers\etc\hosts (Windows) 并且添加服务 IP ,比如
Code Block 192.168.56.102 windows.local win-tkdh9lchuuo win-tkdh9lchuuo.windows.local
Info 注意:如果Joget Server使用Windows Server作为DNS服务器,则不需要此步骤。
2.2 创建Kerberos标识(Keytab)文件
...
使用Windows
在Windows Server上的PowerShell中,使用Ktpass工具生成密钥表文件
Code Block ktpass -out joget.keytab -mapuser joget@WINDOWS.LOCAL -pass Pass@word1 -crypto all -ptype KRB5_NT_PRINCIPAL -princ HTTP/joget.windows.local@WINDOWS.LOCAL
将生成的joget.keytab文件复制到Joget服务器,例如C:\Joget-v6-Enterprise\wflow\joget.keytab
Kerberos身份验证可能需要Java 8才能使用ktpass生成的密钥表。 下载并安装JDK 8,并编辑tomcat-run.bat启动脚本以相应地更新JAVA_HOME路径。
...
3. 配置Kerberos目录管理器插件
3.1 上传Kerberos目录管理器插件
...
从Joget Marketplace 下载 Kerberos目录管理器插件,并将其上载到设置>管理插件中.
3.2 配置Kerberos目录管理器插件
...
在“设置”>“目录管理器”中,选择Kerberos目录管理器插件,然后键入配置中的相应值:
服务主体:HTTP/JOGET.WINDOWS.LOCAL
Keytab文件的路径:/etc/joget.keytab(Linux)或C:/Joget-v6-Enterprise/wflow/joget.keytab(Windows)
Debug Enabled:查看日志中的调试信息
Note 请记住将LDAP目录管理器配置为外部目录管理器以从Active Directory检索用户。
3.3 配置API域白名单
...
配置API域白名单
在“设置”>“常规设置”中,将API域白名单设置为 * 以允许对Kerberos目录管理器的SSO请求。
...
4. 为SSO设置客户端PC
4.1 将客户端PC添加到Windows域
...
确保可以从客户端PC在网络上访问Windows Server
将DNS服务器设置为Windows Server的IP地址.
ping Windows域名进行测试。
单击文件资源管理器,右键单击此PC,然后选择属性。单击计算机名称旁边的“更改设置”。单击“更改”并设置域,例如windows.local,在出现提示时键入域管理员登录名。加入域后重新启动成功,并以域用户身份登录。
4.2 为浏览器设置Windows身份验证
在IE中,单击Internet选项>安全性>本地Intranet站点>高级,然后添加Joget域,例如 http://joget.windows.local
4.3 测试SSO
...
使用Kerberos目录管理器插件方法,访问 http://joget.windows.local/jw/web/json/plugin/org.joget.plugin.kerberos.KerberosDirectoryManager/service 到SSO。
Info 请注意,要使SSO正常工作:
客户端PC和Joget服务器必须驻留在不同的计算机上
Windows服务器和客户端PC必须位于同一Windows域中
...