Привет всем!
Запутался я совсем с аутентификацией и авторизацией в WCF. Информации море, но шибко широким фронтом охватить проблему хотят...
Что собственно нужно:
1. Аутентификация пользователя по доменным учетным записям Windows.
2. Роли пользователй никак не связаны с группами пользователей в Windows. Список ролей, их иерархия и включение в них учетных записей пользователей — все это хранится в базе данных.
3. Включение/исключение пользователей в роли задавать в рантайме.
4. Право на выполнение контрактов операций (методов, помеченных [OperatiornContract]) так же задается в рантайме.
5. Декларативно назначить контрактам операций способ авторизации. Т.е. не хочу в каждом методе, помеченном [OperatiornContract], писать код типа:
if (CurrentPrincipal.IsInRole(...))
{
...
}
Может быть можно авторизацию прописать в ServiceBehavior или OperationBehavior или еще где?
Красота — наивысшая степень целесообразности. (c) И. Ефремов