I would suggest to use Protractor instead of Selenium as its angularJS application and use 'userRole' just as another test data Use Protractor instead of Selenium if its angularJS application and use 'userRole' just as another test data in a data driven test with different userusers as iterations.
Also in test data rows , you may define each UI field as column and pass its expected state as value for the given user like disabled, enabled,visible etc in the cell.
So, overall you'll will have one data driven test with multiple users as iterations in the data table.