There are several operations that are unnecessarily complicated in the Confluence user management UI because the user management operates across all the directories.
Confluence should provide method of administering users, groups and memberships on a single directory. This would permit, for example:
- adding a user to a directory when a user with the same username already exists in a different directory
- management of shadowed users, those where a user with the same username exists in a different directory
- remove membership on one directory but not on another.
This is how the Crowd UI works actually. It provides an amalgamated view from a particular application, but management is done on a per-directory level. This makes user administration much more logical in complicated situations.
To implement this, you can use the DirectoryService which is provided by Crowd and used by Crowd internally. There shouldn't be a need to implement a new API, rather "just" the addition of a dozen or so screens.