diff --git a/config/alfresco/authentication-services-context.xml b/config/alfresco/authentication-services-context.xml
index 7bbf34151b..44deadc447 100644
--- a/config/alfresco/authentication-services-context.xml
+++ b/config/alfresco/authentication-services-context.xml
@@ -304,6 +304,9 @@
+
+
+
diff --git a/source/java/org/alfresco/repo/activities/SiteActivityTest.java b/source/java/org/alfresco/repo/activities/SiteActivityTest.java
index 2dcc056952..5642d12e9e 100644
--- a/source/java/org/alfresco/repo/activities/SiteActivityTest.java
+++ b/source/java/org/alfresco/repo/activities/SiteActivityTest.java
@@ -541,11 +541,7 @@ public class SiteActivityTest extends TestCase
protected void deleteUser(String userName)
{
- if (authenticationService.authenticationExists(userName) == true)
- {
- personService.deletePerson(userName);
- authenticationService.deleteAuthentication(userName);
- }
+ personService.deletePerson(userName);
}
private void login(String username, String password)
diff --git a/source/java/org/alfresco/repo/invitation/InvitationServiceImplTest.java b/source/java/org/alfresco/repo/invitation/InvitationServiceImplTest.java
index b1942616fd..dd5cf9d34f 100644
--- a/source/java/org/alfresco/repo/invitation/InvitationServiceImplTest.java
+++ b/source/java/org/alfresco/repo/invitation/InvitationServiceImplTest.java
@@ -29,12 +29,10 @@ import java.util.List;
import org.alfresco.model.ContentModel;
import org.alfresco.repo.security.authentication.AuthenticationComponent;
-import org.alfresco.repo.security.authentication.MutableAuthenticationDao;
import org.alfresco.repo.site.SiteModel;
-import org.alfresco.service.cmr.invitation.InvitationExceptionUserError;
+import org.alfresco.service.cmr.invitation.Invitation;
import org.alfresco.service.cmr.invitation.InvitationSearchCriteria;
import org.alfresco.service.cmr.invitation.InvitationService;
-import org.alfresco.service.cmr.invitation.Invitation;
import org.alfresco.service.cmr.invitation.ModeratedInvitation;
import org.alfresco.service.cmr.invitation.NominatedInvitation;
import org.alfresco.service.cmr.invitation.Invitation.ResourceType;
@@ -56,7 +54,6 @@ public class InvitationServiceImplTest extends BaseAlfrescoSpringTest
private AuthenticationComponent authenticationComponent;
private PersonService personService;
private InvitationService invitationService;
- private MutableAuthenticationDao mutableAuthenticationDao;
private final String SITE_SHORT_NAME_INVITE = "InvitationTest";
private final String SITE_SHORT_NAME_RED = "InvitationTestRed";
@@ -85,7 +82,6 @@ public class InvitationServiceImplTest extends BaseAlfrescoSpringTest
this.siteService = (SiteService)this.applicationContext.getBean("SiteService");
this.personService = (PersonService)this.applicationContext.getBean("PersonService");
this.authenticationComponent = (AuthenticationComponent)this.applicationContext.getBean("authenticationComponent");
- this.mutableAuthenticationDao = (MutableAuthenticationDao)this.applicationContext.getBean("authenticationDao");
createPerson(USER_MANAGER, USER_MANAGER + "@alfrescotesting.com", PERSON_FIRSTNAME, PERSON_LASTNAME);
createPerson(USER_ONE, USER_ONE_EMAIL,USER_ONE_FIRSTNAME, USER_ONE_LASTNAME);
@@ -365,8 +361,6 @@ public class InvitationServiceImplTest extends BaseAlfrescoSpringTest
*/
public void testNominatedInvitationNewUserSameEmails() throws Exception
{
- Date startDate = new java.util.Date();
-
String inviteeAFirstName = "John";
String inviteeALastName = "Smith";
@@ -868,9 +862,6 @@ public class InvitationServiceImplTest extends BaseAlfrescoSpringTest
Invitation.ResourceType resourceType = Invitation.ResourceType.WEB_SITE;
String inviteeRole = SiteModel.SITE_COLLABORATOR;
String comments = "please sir, let me in!";
- String inviteeFirstName = PERSON_FIRSTNAME;
- String inviteeLastName = PERSON_LASTNAME;
- String inviteeEmail = "123";
String serverPath = "wibble";
String acceptUrl = "froob";
String rejectUrl = "marshmallow";
@@ -1005,19 +996,7 @@ public class InvitationServiceImplTest extends BaseAlfrescoSpringTest
}
private void deletePersonByUserName(String userName)
- {
- // delete authentication if authentication exists for given user name
- if (this.authenticationService.authenticationExists(userName))
- {
- this.authenticationService.deleteAuthentication(userName);
- }
-
- // delete user account
- if (this.mutableAuthenticationDao.userExists(userName))
- {
- this.mutableAuthenticationDao.deleteUser(userName);
- }
-
+ {
// delete person node associated with given user name
// if one exists
if (this.personService.personExists(userName))
diff --git a/source/java/org/alfresco/repo/security/person/PersonServiceImpl.java b/source/java/org/alfresco/repo/security/person/PersonServiceImpl.java
index e122c30323..e378a2dd4d 100644
--- a/source/java/org/alfresco/repo/security/person/PersonServiceImpl.java
+++ b/source/java/org/alfresco/repo/security/person/PersonServiceImpl.java
@@ -41,6 +41,7 @@ import org.alfresco.repo.cache.SimpleCache;
import org.alfresco.repo.node.NodeServicePolicies;
import org.alfresco.repo.policy.JavaBehaviour;
import org.alfresco.repo.policy.PolicyComponent;
+import org.alfresco.repo.security.authentication.AuthenticationException;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.security.permissions.PermissionServiceSPI;
import org.alfresco.repo.tenant.TenantService;
@@ -58,6 +59,7 @@ import org.alfresco.service.cmr.search.ResultSet;
import org.alfresco.service.cmr.search.ResultSetRow;
import org.alfresco.service.cmr.search.SearchParameters;
import org.alfresco.service.cmr.search.SearchService;
+import org.alfresco.service.cmr.security.AuthenticationService;
import org.alfresco.service.cmr.security.AuthorityService;
import org.alfresco.service.cmr.security.AuthorityType;
import org.alfresco.service.cmr.security.NoSuchPersonException;
@@ -99,6 +101,8 @@ public class PersonServiceImpl extends TransactionListenerAdapter implements Per
private SearchService searchService;
private AuthorityService authorityService;
+
+ private AuthenticationService authenticationService;
private DictionaryService dictionaryService;
@@ -168,6 +172,7 @@ public class PersonServiceImpl extends TransactionListenerAdapter implements Per
PropertyCheck.mandatory(this, "searchService", searchService);
PropertyCheck.mandatory(this, "permissionServiceSPI", permissionServiceSPI);
PropertyCheck.mandatory(this, "authorityService", authorityService);
+ PropertyCheck.mandatory(this, "authenticationService", authenticationService);
PropertyCheck.mandatory(this, "namespacePrefixResolver", namespacePrefixResolver);
PropertyCheck.mandatory(this, "policyComponent", policyComponent);
PropertyCheck.mandatory(this, "personCache", personCache);
@@ -648,6 +653,16 @@ public class PersonServiceImpl extends TransactionListenerAdapter implements Per
return;
}
+ // Remove internally-stored password information, if any
+ try
+ {
+ authenticationService.deleteAuthentication(userName);
+ }
+ catch (AuthenticationException e)
+ {
+ // Ignore this - externally authenticated user
+ }
+
// remove user from any containing authorities
Set containerAuthorities = authorityService.getContainingAuthorities(null, userName, true);
for (String containerAuthority : containerAuthorities)
@@ -760,6 +775,11 @@ public class PersonServiceImpl extends TransactionListenerAdapter implements Per
{
this.authorityService = authorityService;
}
+
+ public void setAuthenticationService(AuthenticationService authenticationService)
+ {
+ this.authenticationService = authenticationService;
+ }
public void setDictionaryService(DictionaryService dictionaryService)
{
diff --git a/source/java/org/alfresco/repo/usage/UserUsageTrackingComponentTest.java b/source/java/org/alfresco/repo/usage/UserUsageTrackingComponentTest.java
index 8c79682fa6..8b7b486819 100644
--- a/source/java/org/alfresco/repo/usage/UserUsageTrackingComponentTest.java
+++ b/source/java/org/alfresco/repo/usage/UserUsageTrackingComponentTest.java
@@ -333,7 +333,6 @@ public class UserUsageTrackingComponentTest extends TestCase
NodeRef homeFolder = getHomeSpaceFolderNode(userName);
nodeService.deleteNode(homeFolder);
- authenticationService.deleteAuthentication(userName);
personService.deletePerson(userName);
deleteCount++;
}
diff --git a/source/java/org/alfresco/wcm/AbstractWCMServiceImplTest.java b/source/java/org/alfresco/wcm/AbstractWCMServiceImplTest.java
index cdd89fbb05..8abc80f1db 100644
--- a/source/java/org/alfresco/wcm/AbstractWCMServiceImplTest.java
+++ b/source/java/org/alfresco/wcm/AbstractWCMServiceImplTest.java
@@ -169,10 +169,6 @@ public class AbstractWCMServiceImplTest extends TestCase
protected void deleteUser(String userName)
{
- if (authenticationService.authenticationExists(userName) == true)
- {
- personService.deletePerson(userName);
- authenticationService.deleteAuthentication(userName);
- }
+ personService.deletePerson(userName);
}
}