Sellec
@Sellec
Кодер

Как научить WCF-сервис фильтровать входящих пользователей с NTLM-авторизацией?

Есть 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();
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы