I tried to extend the Activiti Explorer to have a "designer" security role, so that you can write
<code>
<property name="adminGroups">
<list>
<value>activiti_admins</value>
</list>
</property>
<property name="userGroups">
<list>
<value>activiti_users</value>
</list>
</property>
<property name="designerGroups">
<list>
<value>activiti_designers</value>
</list>
</property>
</code>
Therfore, I added in ExplorerApp.java:
<code>protected List<String> designerGroups;</code>
and
<code>
public List<String> getDesignerGroups() {
return designerGroups;
}
public void setDesignerGroups(List<String> designerGroups) {
this.designerGroups = designerGroups;
}
</code>
In addition, the DefaultLoginHander looks like this:
<code>
for (Group group : groups) {
if (Constants.SECURITY_ROLE.equals(group.getType())) {
loggedInUser.addSecurityRoleGroup(group);
if (ExplorerApp.get().getUserGroup().equals(group.getId())) {
loggedInUser.setUser(true);
}
if (ExplorerApp.get().getAdminGroup().equals(group.getId())) {
loggedInUser.setAdmin(true);
}
if (ExplorerApp.get().getDesignerGroup().equals(group.getId())) {
loggedInUser.setDesigner(true);
}
</code>
Without LDAP, this worked very fine. But as soon as I switched to LDAP, my Explorer just considers the admin and the user role.
Maybe, this here is the reason:
<code>if (Constants.SECURITY_ROLE.equals(group.getType())) { </code>
Maybe, the Explorer sees the LDAP Group "activiti_designers" not as a security group. But with the two other roles (users and admins), it works fine.
In short: When using LDAP, how does the Activiti Explorer know that user and admin are security role groups?
Did I miss something?