JBoss Community

Re: How to implement a custom identity model for JBoss Portal?

created by Thomas Raab in JBoss Portal - View the full discussion

Hi!

 

After several days of investigation I finally found the solution.

 

The element "class" of standardidentity-config.xml must reference the corresponding module, e.g. for User, it has to

reference the implementation of UserModule (and not the implementation of User itself: MyUserImpl!!!),

and the same for Role, Membership and UserProfile.

 

So I implemented the interfaces UserModule, RoleModule, etc. But not directly, instead I extended UserModuleService,

RoleModuleService etc. to save some work. The missing properties I mentioned in my last post are no longer necessary then

and can be removed.

 

The standardidentity-config.xml now looks like this:

 


<module>
    <type>User</type>
    <implementation>CUSTOM</implementation>
    <service-name>portal:service=Module,type=User</service-name>
    <class>com.myCompany.MyUserModuleImpl</class>
    <config>
        <option>
           <name>jNDIName</name>
           <value>java:/portal/UserModule</value>
        </option>
    </config>
</module>
<module>
    <type>Role</type>
    <implementation>CUSTOM</implementation>
    <service-name>portal:service=Module,type=Role</service-name>
    <class>com.myCompany.MyRoleModuleImpl</class>
    <config>
        <option>
           <name>jNDIName</name>
           <value>java:/portal/RoleModule</value>
        </option>
    </config>
</module>
    <module>
    <type>Membership</type>
    <implementation>CUSTOM</implementation>
    <service-name>portal:service=Module,type=Membership</service-name>
    <class>com.myCompany.MyMembershipModuleImpl</class>
    <config>
        <option>
           <name>jNDIName</name>
           <value>java:/portal/MembershipModule</value>
        </option>
    </config>
</module>
<module>
    <type>UserProfile</type>
    <implementation>CUSTOM</implementation>
    <service-name>portal:service=Module,type=UserProfile</service-name>
    <class>com.myCompany.MyUserProfileModuleImpl</class>
    <config>
        <option>
           <name>jNDIName</name>
           <value>java:/portal/UserProfileModule</value>
        </option>
    </config>
</module>

 

 

In order to implement those interfaces I had to add the following dependencies to the pom.xml:

 


<dependency>
    <groupId>org.jboss.portal.common</groupId>
    <artifactId>common-common</artifactId>
    <version>1.2.0</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>jboss</groupId>
    <artifactId>jboss-common-client</artifactId>
    <version>3.2.3</version>
    <scope>provided</scope>
</dependency>

 

 

Now everthing is working as expected: the server is starting and I can login. :-)

Reply to this message by going to Community

Start a new discussion in JBoss Portal at Community