Exported AuthenticationService via RMI. Insecure for now but we can switch over

to using SSL when needed.  Restructured exports of AVM specific apis to authenticate
remotely and pass the ticket with each remote service call.  These required some changes
to jndi-client and even to the web-client which uses the AVM remote interface within
the Alfresco server.  Oh, the point of this is that since I'm writing some CLTs, I might
as well do them correctly; we'll need the option of security sooner rather than later.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4489 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Britt Park
2006-12-02 00:54:41 +00:00
parent e932d2ec41
commit b209f4c073
19 changed files with 1790 additions and 171 deletions

View File

@@ -0,0 +1,85 @@
/**
*
*/
package org.alfresco.repo.avm;
import java.util.List;
import org.alfresco.service.cmr.avmsync.AVMDifference;
import org.alfresco.service.cmr.avmsync.AVMSyncService;
import org.alfresco.service.cmr.avmsync.AVMSyncServiceTransport;
import org.alfresco.service.cmr.security.AuthenticationService;
/**
* Server side implementation of the remote wrapper of AVMSyncService.
* @author britt
*/
public class AVMSyncServiceTransportImpl implements AVMSyncServiceTransport
{
/**
* Reference to the AVMSyncService instance.
*/
private AVMSyncService fSyncService;
/**
* Reference to the AuthenticationService instance.
*/
private AuthenticationService fAuthenticationService;
/**
* Default constructor.
*/
public AVMSyncServiceTransportImpl()
{
}
public void setAvmSyncService(AVMSyncService service)
{
fSyncService = service;
}
public void setAuthenticationService(AuthenticationService service)
{
fAuthenticationService = service;
}
/* (non-Javadoc)
* @see org.alfresco.service.cmr.avmsync.AVMSyncServiceTransport#compare(java.lang.String, int, java.lang.String, int, java.lang.String)
*/
public List<AVMDifference> compare(String ticket, int srcVersion,
String srcPath, int dstVersion, String dstPath)
{
fAuthenticationService.validate(ticket);
return fSyncService.compare(srcVersion, srcPath, dstVersion, dstPath);
}
/* (non-Javadoc)
* @see org.alfresco.service.cmr.avmsync.AVMSyncServiceTransport#flatten(java.lang.String, java.lang.String, java.lang.String)
*/
public void flatten(String ticket, String layerPath, String underlyingPath)
{
fAuthenticationService.validate(ticket);
fSyncService.flatten(layerPath, underlyingPath);
}
/* (non-Javadoc)
* @see org.alfresco.service.cmr.avmsync.AVMSyncServiceTransport#resetLayer(java.lang.String, java.lang.String)
*/
public void resetLayer(String ticket, String layerPath)
{
fAuthenticationService.validate(ticket);
fSyncService.resetLayer(layerPath);
}
/* (non-Javadoc)
* @see org.alfresco.service.cmr.avmsync.AVMSyncServiceTransport#update(java.lang.String, java.util.List, boolean, boolean, boolean, boolean, java.lang.String, java.lang.String)
*/
public void update(String ticket, List<AVMDifference> diffList,
boolean ignoreConflicts, boolean ignoreOlder,
boolean overrideConflicts, boolean overrideOlder, String tag,
String description)
{
fAuthenticationService.validate(ticket);
fSyncService.update(diffList, ignoreConflicts, ignoreOlder, overrideConflicts, overrideOlder, tag, description);
}
}