Files
.externalToolBuilders
config
source
cpp
java
org
alfresco
example
filesys
jcr
linkvalidation
model
repo
action
admin
attributes
audit
avm
cache
clt
coci
configuration
content
copy
deploy
descriptor
dictionary
domain
exporter
forum
importer
jscript
lock
model
module
node
ownable
policy
processor
remote
AVMRemoteImpl.java
AVMRemoteInputStream.java
AVMRemoteOutputStream.java
AVMSyncServiceRemote.java
AttributeServiceRemote.java
ClientTicketHolder.java
ClientTicketHolderGlobal.java
ClientTicketHolderThread.java
ReauthenticatingAdvice.java
RepoRemoteImpl.java
RepoRemoteInputStream.java
RepoRemoteOutputStream.java
RepoRemoteService.java
RepoRemoteTransportService.java
rule
search
security
service
template
transaction
version
workflow
sandbox
service
tools
util
apache
queryRegister.dtd
meta-inf
test-resources
web
.classpath
.project
build.xml
alfresco-community-repo/source/java/org/alfresco/repo/remote/ReauthenticatingAdvice.java
Derek Hulley 138d1780cb Merged V2.0 to HEAD
5456: (From WCM_DEPLOY)

There were many pure conflicts on license headers, one conflict due to CR-LF and
some other smaller issues to resolve:
-----------------------------------------
Resolved (line endings not cr-lf):
   root\projects\repository\config\alfresco\public-services-context.xml

Reverted:
   root\projects\web-client\source\web\images\icons\ajax_anim.gif

Reverted or Resolved (License text conflicts):
   svn revert root\projects\jndi-client\source\java\org\alfresco\jndi\JndiTest.java
   svn resolved root\projects\jndi-client\source\java\org\alfresco\jndi\AVMFileDirContext.java
   svn revert root\projects\jndi-client\source\java\org\alfresco\jndi\AVMBulkLoader.java
   svn revert root\projects\jndi-client\source\java\org\alfresco\filter\CacheControlFilter.java
   svn revert root\projects\jndi-client\source\java\org\alfresco\filter\CacheControlFilterInfoBean.java
   svn revert -R root\projects\catalina-virtual\source\java\org\alfresco\mbeans
   svn revert root\projects\catalina-virtual\source\java\org\alfresco\catalina\context\AVMStandardContext.java
   svn revert root\projects\catalina-virtual\source\java\org\alfresco\catalina\loader\AVMWebappClassLoader.java
   svn revert root\projects\catalina-virtual\source\java\org\alfresco\catalina\loader\AVMWebappLoader.java
   svn revert root\projects\catalina-virtual\source\java\org\alfresco\catalina\host\AVMResourceBinding.java
   svn resolved root\projects\catalina-virtual\source\java\org\alfresco\catalina\host\AVMHostConfig.java
      - why the change in method naming convention?
   svn resolved root\projects\catalina-virtual\source\java\org\alfresco\catalina\host\AVMHost.java
   svn revert root\projects\catalina-virtual\source\java\org\alfresco\catalina\host\DefaultAVMResourceBinding.java
   svn revert root\projects\catalina-virtual\source\java\org\alfresco\catalina\valve\AVMUrlValveTest.java
   svn resolved root\projects\catalina-virtual\source\java\org\alfresco\catalina\valve\AVMUrlValve.java
   svn revert root\projects\catalina-virtual\source\java\org\alfresco\catalina\host\AVMHostMatch.java

Modified:
   root\projects\web-client\source\java\org\alfresco\web\ui\wcm\component\UIDeployWebsite.java (Kevin to check line 330)


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5484 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-04-12 01:41:14 +00:00

132 lines
3.1 KiB
Java

/**
*
*/
package org.alfresco.repo.remote;
import org.alfresco.repo.security.authentication.AuthenticationException;
import org.alfresco.service.cmr.security.AuthenticationService;
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
import org.springframework.aop.framework.ReflectiveMethodInvocation;
/**
* This is an interceptor that continuosly tries to reauthenticate when
* a method call results in an AuthenticationException.
* @author britt
*/
public class ReauthenticatingAdvice implements MethodInterceptor
{
/**
* The authentication service reference.
*/
private AuthenticationService fAuthService;
/**
* The ticket holder.
*/
private ClientTicketHolder fTicketHolder;
/**
* The user name.
*/
private String fUser;
/**
* The user's password.
*/
private String fPassword;
/**
* The time in milliseconds to wait between attempts to reauthenticate.
*/
private long fRetryInterval;
/**
* Default constructor.
*/
public ReauthenticatingAdvice()
{
super();
}
/**
* Setter.
*/
public void setAuthenticationService(AuthenticationService service)
{
fAuthService = service;
}
/**
* Setter.
*/
public void setClientTicketHolder(ClientTicketHolder ticketHolder)
{
fTicketHolder = ticketHolder;
}
/**
* Setter.
*/
public void setUser(String user)
{
fUser = user;
}
/**
* Setter.
*/
public void setPassword(String password)
{
fPassword = password;
}
/**
* Setter.
*/
public void setRetryInterval(long retryInterval)
{
fRetryInterval = retryInterval;
}
/* (non-Javadoc)
* @see org.aopalliance.intercept.MethodInterceptor#invoke(org.aopalliance.intercept.MethodInvocation)
*/
public Object invoke(MethodInvocation mi) throws Throwable
{
while (true)
{
try
{
MethodInvocation clone = ((ReflectiveMethodInvocation)mi).invocableClone();
return clone.proceed();
}
catch (AuthenticationException ae)
{
// Sleep for an interval and try again.
try
{
Thread.sleep(fRetryInterval);
}
catch (InterruptedException ie)
{
// Do nothing.
}
try
{
// Reauthenticate.
fAuthService.authenticate(fUser, fPassword.toCharArray());
String ticket = fAuthService.getCurrentTicket();
fTicketHolder.setTicket(ticket);
// Modify the ticket argument.
mi.getArguments()[0] = ticket;
}
catch (Exception e)
{
// Do nothing.
}
}
}
}
}