Если каждая операция, которую выполняет пользователь, может быть сопоставлена с URI, тогда вы можете иметь уровень безопасности или использовать структуры, которые могут быть настроены с URI для сопоставления ролей, чтобы разрешить доступ.
Если он находится на поведенческом уровне, вы, вероятно, можете использовать Шаблон проектирования прокси здесь. Это обеспечит прокси реализацию вашего полного объекта, когда вы захотите выполнить отказ при быстром отказе на основе проверки безопасности.
Однако, если объект ведет себя по-разному для разных пользователей, вы можете использовать реализации декоратора для различных методов, которые должны вести себя по-разному.
И если вы хотите получить другую версию объекта, которая может быть изменена также структурно и для разных ролей, чем может быть использована серия Посетителей. Шаблон посетителей может быть применим здесь.