I have written a code which does the following

Objective:-

Jetspeed uses its own set of tables to create users, login/ logout users, and to check 
access control. This code was written to remove this dependency and to pick up the 
Jetspeed required data from my own tables.

For this reason it was decided to replace the java classes related to the following 
functionalities,

UserManagement

UserAuthentication

 

In the Jetspeed document it is said that we could write our own implementations of the 
above mentioned classes. And Jetspeed would pick up these new classes if the necessary 
change is made in the Properties file from which Jetspeed reads data ie. 
JetspeedSecurity.properties

 

Implementation:-

I wrote new objects for UserManagement & UserAuthentication which extends from the 
objects that are being currently used by Jetspeed. These are TurbineUserManagement 
class and TurbineAuthentication class replaced by 
com.abc.security.jetspeed.MyUserManagement and 
com.abc.security.jetspeed.MyAuthentication respectively. 

I further overrode the required methods to get the data required by Jetspeed. A jar is 
created from the new User Management code and put in the application lib directory. A 
similar jar file is also present for the Jetspeed code �jetspeed-1.4-b4�

 

And to make the Jetspeed to pick up the right class I made the following changes in 
the properties files,

Files name:-

JetspeedSecurity.properties in path  ..\ WEB-INF\conf

 

Original values �

services.PortalAuthentication.classname=org.apache.jetspeed.services.security.turbine.TurbineAuthentication

services.UserManagement.classname=org.apache.jetspeed.services.security.turbine.TurbineUserManagement

services.JetspeedSecurity.user.class=org.apache.jetspeed.om.security.BaseJetspeedUser 
(this is a helper class which defines a Jetspeed user)

 

Changed values -

services.PortalAuthentication.classname=com.abc.security.jetspeed.MyAuthentication

services.UserManagement.classname=com.abc.security.jetspeed.MyUserManagement

services.JetspeedSecurity.user.class=com.abc.security.jetspeed.MyJetspeedUser

 

File name:-

TurbineResources.properties in path ..\ WEB-INF\conf

 

Added under the header �M O D U L E  P A C K A G E S�

Line added is,

module.packages= com.abc.security.jetspeed

 

Problem faced: -

While trying to run the application with changes I continuously get the error saying,

Horrible Exception: java.lang.NoClassDefFoundError: 
org/apache/jetspeed/services/security/turbine/TurbineAuthentication

The error mentions that it still is looking for the classes I changed it 
TurbineAuthentication and TurbineUserManagement and BaseJetspeedUser.

 

Any suggestions welcome.

 

Thanks and regards,

S

 




---------------------------------
Do you Yahoo!?
New Yahoo! Photos - easier uploading and sharing

Reply via email to