I think this is possible.
Can I ask what you want UserRoleA to be able to do / not do that UserRoleB can
You could try an use the "User Pages" to get this functionilty. By
buidling off of what you said of different providers.
Create User pages that only have the provider you want allowed for the
OS you are trying to control.