2

在 Wildfly 8.1.0.Final 我们部署:

  • 我们自己的 CRM-webapp (Seam2/JSF1.2)
  • camunda-webapp 7.3.0
  • camunda-engine 7.3.0 作为模块(共享引擎)
  • 自定义引擎插件,使 camunda-engine 能够使用我们 CRM 的用户/组存储

我们在 CRM 中的 iframe 中显示 camunda 任务列表。到目前为止,此设置运行良好,但我们必须登录两次。

所以我们需要 SSO,但不能建立 AD/LDAP,就像在 camunda-sso-jboss 示例中一样。我想到了 Wildfly 的 JAAS 和 SSO 功能,但我不确定 camunda-webapp 是否支持 JAAS 身份验证。我认为 jboss-web.xml 中的安全域配置只是由 maven 原型生成,对 camunda-webapp 没有影响,对吗?我更改了该配置,但它根本没有效果。

有人可以给我一个提示,我应该在哪里连接到 camunda-webapp 或者是否有可能?

4

1 回答 1

1

好的,我有第一个成功。

我更改了 org.camunda.bpm.webapp.impl.security.auth.Authentications.getFromSession 以接受 HttpServletRequest 作为参数而不是 HttpSession(从 AuthenticationFilter.doFilter 调用)。如果会话不包含身份验证,我尝试从请求中提取原则,如果存在,我静默登录(大部分来自 UserAuthenticationResource.doLogin)。

然后我有一个非常简单的 webapp(“testA”),只有一个 JSP 和基本身份验证。camunda-webapp 和 testA 都配置了相同的安全域,并且 undertow 子系统中的主机具有“单点登录”设置。

现在我可以登录 /testA,然后在另一个选项卡中调用 /camunda,无需进一步验证。

代码必须改进很多。如果everythink工作正常,我会发布详细信息。

如果有人认为这是错误的方法,请告诉我 ;-)

于 2015-06-16T17:23:55.710 回答