我在 OpenJDK 11 上安装了独立的 httpd+Tomcat 8.5.65,并安装了 OpenCms 11.0.2,用于客户的内部网站。
他们有一个 LDAP 网络,并请求使用 Kerberos (krb5) 进行自动登录。
我们配置了 SPNego 并且它在 Tomcat 上运行:一个测试 JSP 页面,包括代码:
<%= request.getRemoteUser() %>
直接通过 tomcat(端口 8080)访问时,可以正常工作(打印用户名)。但是当我通过 Tomcat 访问 OpenCms 时,此身份验证不起作用。具体来说,CmsJspLoginBean
对象的isLoggedIn()
方法返回false
。换句话说,当前用户是 [Guest]。
在知道 Tomcat 已经正确配置的情况下,我需要做什么才能将 OpenCms 连接到 OpenCms 端的 Kerberos?
另外:OpenCms 已安装 LDAP 连接器并且它可以运行,我认为这与此没有任何关系。
答案1
是的,您需要将远程用户映射到 OpenCms 用户注册表,并根据请求为该远程用户创建与 OpenCms 的会话。理想情况下,这是通过您自己的用户身份验证器实现来完成的,这将带来真正的无缝 SSO 体验(无需深奥的科学)。如果您需要进一步的帮助,请告诉我。