Есть WCF-сервис, у которого привязка для конечной точки задается примерно так:
var httpsBinding = new BasicHttpsBinding();
httpsBinding.Security.Mode = BasicHttpsSecurityMode.Transport;
httpsBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm;
Сервис запущен внутри ASP.Net сайта, в IIS включена Windows-авторзация. Клиенты, находящиеся в том же домене, подключаются к сервису без проблем. Клиенты НЕ из домена подключаются к сервису при прямом указании реквизитов доменной учетки. То есть всё работает.
Возникла необходимость фильтровать учетки, которые могут обращаться к сервису, то есть где-то надо задать конкретные учетки AD или группу AD. Единственное, что нашел на msdn и stackoverflow - предлагают воспользоваться секцией system.web/authorization/allow-deny в web.config, но это не вариант, т.к. нужна фильтрация на уровне кода - есть дополнительные проверки. Как это сделать?
P.S. В принципе, вопрос решился после прочтения
данной статьи, реализовал свой ServiceAuthorizationManager и перегрузил CheckAccess, а к сервису привязал через Authorization.ServiceAuthorizationManager = new CustomServiceAuthorizationManager();