camunda-webapp和JAAS认证

时间:2015-06-15 15:25:29

标签: single-sign-on jaas bpm camunda

在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或者是否有可能?

1 个答案:

答案 0 :(得分:1)

好的,我取得了第一次成功。

我更改了org.camunda.bpm.webapp.impl.security.auth.Authentications.getFromSession以接受HttpServletRequest作为参数而不是HttpSession(从AuthenticationFilter.doFilter调用)。如果会话不包含Authentications,我会尝试从请求中提取Principle,如果存在,我会以静默方式登录(从UserAuthenticationResource.doLogin中复制最多)。

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

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

代码必须得到很大改进。如果Everythink工作正常,我会发布详细信息。

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