mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
Fix AWC-367. Deleting a user from the system does not remove that user from any groups they may be in.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2391 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -34,6 +34,7 @@ import org.alfresco.service.cmr.repository.NodeService;
|
|||||||
import org.alfresco.service.cmr.search.SearchParameters;
|
import org.alfresco.service.cmr.search.SearchParameters;
|
||||||
import org.alfresco.service.cmr.search.SearchService;
|
import org.alfresco.service.cmr.search.SearchService;
|
||||||
import org.alfresco.service.cmr.security.AuthenticationService;
|
import org.alfresco.service.cmr.security.AuthenticationService;
|
||||||
|
import org.alfresco.service.cmr.security.PersonService;
|
||||||
import org.alfresco.web.app.Application;
|
import org.alfresco.web.app.Application;
|
||||||
import org.alfresco.web.app.context.IContextListener;
|
import org.alfresco.web.app.context.IContextListener;
|
||||||
import org.alfresco.web.app.context.UIContextService;
|
import org.alfresco.web.app.context.UIContextService;
|
||||||
@@ -68,6 +69,9 @@ public class UsersBean implements IContextListener
|
|||||||
/** AuthenticationService bean reference */
|
/** AuthenticationService bean reference */
|
||||||
private AuthenticationService authenticationService;
|
private AuthenticationService authenticationService;
|
||||||
|
|
||||||
|
/** PersonService bean reference */
|
||||||
|
private PersonService personService;
|
||||||
|
|
||||||
/** Component reference for Users RichList control */
|
/** Component reference for Users RichList control */
|
||||||
private UIRichList usersRichList;
|
private UIRichList usersRichList;
|
||||||
|
|
||||||
@@ -120,6 +124,14 @@ public class UsersBean implements IContextListener
|
|||||||
this.authenticationService = authenticationService;
|
this.authenticationService = authenticationService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param personService The PersonService to set.
|
||||||
|
*/
|
||||||
|
public void setPersonService(PersonService personService)
|
||||||
|
{
|
||||||
|
this.personService = personService;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Returns the usersRichList.
|
* @return Returns the usersRichList.
|
||||||
*/
|
*/
|
||||||
@@ -267,6 +279,8 @@ public class UsersBean implements IContextListener
|
|||||||
tx = Repository.getUserTransaction(context);
|
tx = Repository.getUserTransaction(context);
|
||||||
tx.begin();
|
tx.begin();
|
||||||
|
|
||||||
|
String userName = (String)getPerson().getProperties().get("userName");
|
||||||
|
|
||||||
// we only delete the user auth if Alfresco is managing the authentication
|
// we only delete the user auth if Alfresco is managing the authentication
|
||||||
Map session = context.getExternalContext().getSessionMap();
|
Map session = context.getExternalContext().getSessionMap();
|
||||||
if (session.get(LoginBean.LOGIN_EXTERNAL_AUTH) == null)
|
if (session.get(LoginBean.LOGIN_EXTERNAL_AUTH) == null)
|
||||||
@@ -274,7 +288,7 @@ public class UsersBean implements IContextListener
|
|||||||
// delete the User authentication
|
// delete the User authentication
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
authenticationService.deleteAuthentication((String) getPerson().getProperties().get("userName"));
|
authenticationService.deleteAuthentication(userName);
|
||||||
}
|
}
|
||||||
catch (AuthenticationException authErr)
|
catch (AuthenticationException authErr)
|
||||||
{
|
{
|
||||||
@@ -283,7 +297,7 @@ public class UsersBean implements IContextListener
|
|||||||
}
|
}
|
||||||
|
|
||||||
// delete the associated Person
|
// delete the associated Person
|
||||||
this.nodeService.deleteNode(getPerson().getNodeRef());
|
this.personService.deletePerson(userName);
|
||||||
|
|
||||||
// commit the transaction
|
// commit the transaction
|
||||||
tx.commit();
|
tx.commit();
|
||||||
|
@@ -194,6 +194,10 @@
|
|||||||
<property-name>authenticationService</property-name>
|
<property-name>authenticationService</property-name>
|
||||||
<value>#{authenticationService}</value>
|
<value>#{authenticationService}</value>
|
||||||
</managed-property>
|
</managed-property>
|
||||||
|
<managed-property>
|
||||||
|
<property-name>personService</property-name>
|
||||||
|
<value>#{personService}</value>
|
||||||
|
</managed-property>
|
||||||
</managed-bean>
|
</managed-bean>
|
||||||
|
|
||||||
<managed-bean>
|
<managed-bean>
|
||||||
|
Reference in New Issue
Block a user