Часть лучшего решения уже заключается в вашем желании использовать Active Directory для аутентификации ваших пользователей.Пусть это авторизует и ваших пользователей.Маркетинг - это не просто роль базы данных, которая определяет доступ к вашим таблицам.Это отдел вашей компании с общими файлами, списками рассылки, а также ролью в вашем приложении.Попросите администратора домена создать группу объявлений под названием «Маркетинг» и разрешите им добавлять и удалять пользователей по мере необходимости.Аналогично для отдела продаж и других отделов, которые касаются вашей базы данных.
Когда это будет сделано, добавьте группу MYDOMAIN \ Marketing как логин на вашем сервере и как пользователь вваша база данных .Он будет вести себя примерно так же, как и роли, которые вы описали, так что вы можете продолжать создавать роли, добавлять эту доменную группу к роли и предоставлять роль или предоставлять этому пользователю напрямую, поскольку она идентифицирует группу людей.Это также дает вам возможность пересмотреть определения вашей роли.На самом ли деле они занимаются вопросами маркетинга и продаж или являются ролями CustomerEditor, CustomerViewer, ProfitAndLossViewer?
Управление пользователями и группами является стандартной функцией администрирования AD;пусть они делают то, что делают лучше всего.Возможно, вам не нужно слишком сильно использовать его в вашем решении, если только вы не получаете очень плохой сервис от администраторов домена, и в таком случае зачем использовать AD для управления пользователями?
Это очень небольшое изменение, вероятно, бесплатнотратить много времени на разработку и освободить вас от переизобретения средства управления пользователями, которое уже существует и которым легко пользоваться.
Удачи!