Skip to content

Instantly share code, notes, and snippets.

@sebastienblanc
Created December 13, 2012 13:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sebastienblanc/4276320 to your computer and use it in GitHub Desktop.
Save sebastienblanc/4276320 to your computer and use it in GitHub Desktop.

removeUser works well in this case (Method called during startup) :

public class BoostrapUsers {


    @PersistenceContext(type = PersistenceContextType.EXTENDED)
    private EntityManager entityManager;

    @Inject
    private IdentityManager identityManager;

    /**
     * <p>Loads some users during the first construction.</p>
     */
    //TODO this entire initialization code will be removed
    @PostConstruct
    public void create() {
        JPAIdentityStoreContext.set(this.entityManager);

        User user = this.identityManager.createUser("admin");
        User user1 = this.identityManager.createUser("user1");



        this.identityManager.updateCredential(user, new PasswordCredential("admin"));
        this.identityManager.updateCredential(user1, new PasswordCredential("user1"));
        Role roleDeveloper = this.identityManager.createRole("simple");
        Role roleAdmin = this.identityManager.createRole("admin");

        Group groupCoreDeveloper = identityManager.createGroup("Default Users Group");

        identityManager.grantRole(roleDeveloper, user, groupCoreDeveloper);
        identityManager.grantRole(roleDeveloper, user1, groupCoreDeveloper);
        identityManager.grantRole(roleAdmin, user, groupCoreDeveloper);
        
        identityManager.removeUser("user1");
        
        JPAIdentityStoreContext.clear();
    }

}

but when calling removeUser in my project, it removes all the users :

 public void removeUser(String name){
       User user = identityManager.getUser(name);
        if(user != null){
            identityManager.removeUser(user); // all users are now deleted
         }

    }

I can see in the logs that the SQL delete statement is called for each user record

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment