Our application has a security section which provides a list of users from AD and roles to be added for access to the program. Once a user is added, I'm not sure how best to display or not display that user again when this security section is accessed again and more users are added. I see 3 options:
Do not show a user once they have been added.
Disable the user in the AD list if they have already been added.
Do nothing. This would appear that the user can be added and I would allow the process to continue but nothing is really being added since the user already exists.
There will be other similar actions within the program. Has anyone run into a similar situation?
The form will look something like this. Users are selected from the left and roles selected from the right. Save adds the user/roles combinations to the database. Once a user/role has been added, there's really no need to go back to this window to do anything with a user who has already been added.
You could include all the names in the same list, and distinguish selected names by an icon such as a checkbox. You can also sort all selected items at the top of the list to make it easy to see the full list of who is authorized.
Tower for Git uses an interface like this when marking which changed files to include in a commit. It uses checkboxes that are separate from the rest of the row so that you can click elsewhere on the row to select multiple files, which you can perform other actions on. That feature is probably not necessary for you; when the user clicks anywhere on a row, you can toggle its checkbox instead of selecting the row.
You can have two tables - one with users who weren't issued the permission yet, and the other one - users with the permission. Once clicked user disappears from one column and appears in the other one.
I've used both methods (two lists side-by-side and a single list with checkboxes). I like the checkboxes better for shorter lists because it's easier to see at glance which things have been checked in context with the larger list. I also change the background of the selected items to make them stand out a bit. However, for longer lists, the side-by-side tables seem to work better. I add buttons for moving items from the available to added side.