camunda-webapp 和 JAAS 身份验证

Posted

技术标签:

【中文标题】camunda-webapp 和 JAAS 身份验证【英文标题】:camunda-webapp and JAAS-authentication 【发布时间】:2015-06-15 15:25:29 【问题描述】:

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

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

【问题讨论】:

我看到有一个开放的功能请求:app.camunda.com/jira/browse/CAM-947。是否已经完成了一些我可以基于自己的工作的工作? 这方面恐怕没有任何进展。 【参考方案1】:

好的,我有第一个成功。

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

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

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

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

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

【讨论】:

感谢您的描述!您能否发布一些详细信息,您是如何编辑课程的?我目前正在尝试做大致相同的事情,但使用 Spring Security。

以上是关于camunda-webapp 和 JAAS 身份验证的主要内容,如果未能解决你的问题,请参考以下文章

如何集成基于 angularjs 和 java jaas 的身份验证?

JAAS + 来自数据库的身份验证

为啥我的程序无法创建新的 JAAS 登录上下文?

具有数据库授权的 Spring JAAS 身份验证

绕过对用户名/密码的 JConsole 要求 - 当使用带有 JMX 的 Jaas 自定义登录模块来处理授权和身份验证时

JAAS 授权中的访问被拒绝