Возможно, вы захотите взглянуть на проверку подлинности на основе утверждений через Windows Identity Foundation (WIF). В этой модели ваши «подчиненные» службы становятся так называемыми проверяющими сторонами (RP), каждый из которых доверяет эмитенту (STS) токена аутентификации. Этот токен содержит утверждения , которые можно настроить для каждого RP. Он построен на открытых стандартах и, скорее всего, станет гораздо более надежным и надежным доказательством того, что вы сами справитесь.
Все это будет реализовано в ваших сервисах через относительно простой WIF API, который расширяет IPrincipal и IIdentity. Может быть, немного больше работы сейчас, но, безусловно, обеспечение лучшего решения в долгосрочной перспективе?
Подробнее здесь
Edit:
Ваши услуги будут доверять STS. Поэтому, когда пользователь подходит к вашему сервису с набором требований, выданных STS, вы принимаете их как действительные. Ваши сервисы не должны содержать какой-либо логики для поиска ролей, поскольку все это содержится в заявке, которая была определена STS. Все, что вы делаете как разработчик сервиса, - это решаете, что пользователь может или не может сделать, основываясь на этих утверждениях. Может помочь следующий разработчик white paper (PDF).