[JBoss jBPM] - Re: 3.2.1 JbossService as a jboss sar - does it work?
by andyredhead
It seems that the answer to my question is nope, 3.2.1 does not work as a service.
However - putting together a 3.2.2 build from head and it does work :)
I've got a slightly modifed setup - defining the service as an xmbean so I can add a property to set the Jbpm config file name.
The jboss-service.xml file:
| <?xml version="1.0" encoding="UTF-8"?>
|
| <server>
| <mbean code="org.jbpm.jmx.JbpmService"
| name="jboss.jbpm:name=DefaultJbpm,service=JbpmService"
| description="jBPM Service"
| xmbean-dd="META-INF/jbpm-xmbean.xml"
| >
|
| <attribute name="JndiName">java:/jbpm/JbpmConfiguration</attribute>
| <attribute name="JbpmConfigFilePath">jbpm-cfg.xml</attribute>
|
| <depends>jboss:service=Naming</depends>
| <depends>jboss.jca:service=DataSourceBinding,name=**hibernate-datasource**</depends>
|
| </mbean>
| </server>
|
and jbpm-xmbean.xml
| <?xml version="1.0" encoding="UTF-8"?>
| <!DOCTYPE mbean PUBLIC
| "-//JBoss//DTD JBOSS XMBEAN 1.1//EN"
| "http://www.jboss.org/j2ee/dtd/jboss_xmbean_1_1.dtd">
| <!--
|
| -->
| <mbean>
|
| <description>Put an instance of JbpmConfiguration into JNDI</description>
| <class>org.jbpm.jmx.JbpmService</class>
|
| &defaultAttributes;
|
| <attribute access="read-write" setMethod="setJbpmCfgResource" getMethod="getJbpmCfgResource">
| <description>The cache to store action permissions</description>
| <name>JbpmConfigFilePath</name>
| <type>java.lang.String</type>
| </attribute>
|
| <attribute access="read-write" setMethod="setJndiName" getMethod="getJndiName">
| <description>Target location in JNDI</description>
| <name>JndiName</name>
| <type>java.lang.String</type>
| </attribute>
|
|
| &defaultOperations;
| </mbean>
|
Cheers,
Andy
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4066950#4066950
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4066950
18Â years, 9Â months
[JBoss Portal] - Re: LDAPExtUserModuleImpl and userSearchFilter
by bdaw
I'm playing with this.
So with such ldif:
|
| dn: dc=example,dc=com
| objectclass: top
| objectclass: dcObject
| objectclass: organization
| dc: example
| o: example
|
| dn: dc=portal,dc=example,dc=com
| objectclass: top
| objectclass: dcObject
| objectclass: organization
| o: portal
| dc: portal
|
| dn: o=test,dc=portal,dc=example,dc=com
| objectclass: top
| objectclass: organization
| o: test
|
| dn: ou=People,o=test,dc=portal,dc=example,dc=com
| objectclass: top
| objectclass: organizationalUnit
| ou: People
|
| dn: uid=admin,ou=People,o=test,dc=portal,dc=example,dc=com
| objectclass: top
| objectclass: inetOrgPerson
| objectclass: person
| uid: admin
| cn: Java Duke
| sn: Duke
| userPassword: admin
| mail: email(a)email.com
|
| dn: uid=user,ou=People,o=test,dc=portal,dc=example,dc=com
| objectclass: top
| objectclass: inetOrgPerson
| objectclass: person
| uid: user
| cn: user
| sn: Portal User
| userPassword: user
| mail: email(a)email.com
|
| dn: uid=jduke\, Duke,ou=People,o=test,dc=portal,dc=example,dc=com
| objectclass: top
| objectclass: inetOrgPerson
| objectclass: person
| uid: jduke, Duke
| cn: Java Duke
| sn: Duke
| userPassword: theduke
| mail: email(a)email.com
|
| dn: uid=jduke1\, Duke,ou=People,o=test,dc=portal,dc=example,dc=com
| objectclass: top
| objectclass: inetOrgPerson
| objectclass: person
| uid: jduke1, Duke
| cn: Java Duke1
| sn: Duke1
| userPassword: theduke
| mail: email(a)email.com
|
|
| dn: uid=jduke2\, Duke,ou=People,o=test,dc=portal,dc=example,dc=com
| objectclass: top
| objectclass: inetOrgPerson
| objectclass: person
| uid: jduke2, Duke
| cn: Java Duke2
| sn: Duke2
| userPassword: theduke
| mail: email(a)email.com
|
| dn: uid=jduke3\, Duke,ou=People,o=test,dc=portal,dc=example,dc=com
| objectclass: top
| objectclass: inetOrgPerson
| objectclass: person
| uid: jduke3, Duke
| cn: Java Duke3
| sn: Duke3
| userPassword: theduke
| mail: email(a)email.com
|
| dn: uid=jduke4\, Duke,ou=People,o=test,dc=portal,dc=example,dc=com
| objectclass: top
| objectclass: inetOrgPerson
| objectclass: person
| uid: jduke4, Duke
| cn: Java Duke4
| sn: Duke4
| userPassword: theduke
| mail: email(a)email.com
|
| dn: ou=Roles,o=test,dc=portal,dc=example,dc=com
| objectclass: top
| objectclass: organizationalUnit
| ou: Roles
|
| dn: cn=Admin,ou=Roles,o=test,dc=portal,dc=example,dc=com
| objectClass: top
| objectClass: groupOfNames
| cn: Admin
| description: Portal admin role
| member: uid=admin,ou=People,o=test,dc=portal,dc=example,dc=com
|
| dn: cn=User,ou=Roles,o=test,dc=portal,dc=example,dc=com
| objectClass: top
| objectClass: groupOfNames
| cn: User
| description: Portal user role
| member: uid=admin,ou=People,o=test,dc=portal,dc=example,dc=com
| member: uid=user,ou=People,o=test,dc=portal,dc=example,dc=com
| member: uid=jduke\, Duke,ou=People,o=test,dc=portal,dc=example,dc=com
| member: uid=jduke1\, Duke,ou=People,o=test,dc=portal,dc=example,dc=com
| member: uid=jduke2\, Duke,ou=People,o=test,dc=portal,dc=example,dc=com
| member: uid=jduke3\, Duke,ou=People,o=test,dc=portal,dc=example,dc=com
| member: uid=jduke4\, Duke,ou=People,o=test,dc=portal,dc=example,dc=com
|
| dn: cn=The\, Dukes,ou=Roles,o=test,dc=portal,dc=example,dc=com
| objectClass: top
| objectClass: groupOfNames
| cn: The, Dukes
| description: Portal user role
| member: uid=admin,ou=People,o=test,dc=portal,dc=example,dc=com
| member: uid=user,ou=People,o=test,dc=portal,dc=example,dc=com
| member: uid=jduke\, Duke,ou=People,o=test,dc=portal,dc=example,dc=com
| member: uid=jduke1\, Duke,ou=People,o=test,dc=portal,dc=example,dc=com
| member: uid=jduke2\, Duke,ou=People,o=test,dc=portal,dc=example,dc=com
| member: uid=jduke3\, Duke,ou=People,o=test,dc=portal,dc=example,dc=com
| member: uid=jduke4\, Duke,ou=People,o=test,dc=portal,dc=example,dc=com
Role resolution works ok. For the search filters I succeeded with such configuration:
| <option>
| <name>roleSearchFilter</name>
| <value><![CDATA[(&(cn={0})(member=uid=jduke\\\, Duke,ou=People,o=test,dc=portal,dc=example,dc=com))]]></value>
| </option>
|
I think that code changes are not needed here. Actually with command line I also need to use 3 backslashes like here:
| ldapsearch -x -h localhost -p 10389 -D"cn=Directory Manager" -w password -s sub -b "dc=example,dc=com" "(&(cn=*)(member=uid=jduke\\\, Duke,ou=People,o=test,dc=portal,dc=example,dc=com))"
|
otherwise with '\\,' or '\' you have 'Bad search filter (-7)' error. And I don't think its related to the shell as whole phrase is quoted with "". So its just the way you need to escape it.
Anyway I found out that for UserModule.createUser() method userName need to be parsed against RFC2253 (http://ietf.org/rfc/rfc2253.txt), so this need to be corrected.
Could you check if it works for you in MSAD if you just use "member=cn=LastName\\\, FirstName, ou=People, ..." filter?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4066939#4066939
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4066939
18Â years, 9Â months