Я рассматриваю это как частный случай авторизации любого "сервиса".
Требуется, чтобы у вас был какой-то способ узнать учетные данные звонящего. Если вы не хотите передавать такую информацию явно каждому методу, вам нужен неявный «контекст», доступный при определении авторизации. Администрирование таких возможностей индивидуально для каждого пользователя становится очень неудобным, поэтому вам, как правило, требуется контроль доступа на основе ролей и способы распределения групп пользователей по ролям.
Все это подразумевает не столько шаблон проектирования, сколько основу для использования. Фреймворки, такие как Spring и Java EE, имеют такие встроенные возможности, что, в свою очередь, вполне может использовать каталоги с использованием LDAP.
Так что мой «шаблон» - не изобретать велосипед, найти подходящий каркас и использовать его.