У меня есть служба с проверкой подлинности Windows. Используя следующий код, я могу получить идентификатор Windows пользователя, который (с помощью клиента) использует эту услугу.Общие сведения об аутентификации Windows WCF
String currentUser = OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Name;
Конфигурация в сервере:
<binding name="messageSecurity">
<security mode="Message">
<message clientCredentialType="Windows"/>
</security>
</binding>
Я также читал, что на сервере, он использует Kerberos для этой работы.
Теперь я пытаюсь понять его значение в нашей корпоративной сети. В офисе пользователи будут регистрироваться на своих рабочих столах, используя свои учетные данные активного каталога. Наш сервис размещен на сервере Windows с именем «SERV1».
Доступны ли только пользователи, имеющие доступ (для входа в систему) к «SERV1»? Или все пользователи, которые могут войти в офисную сеть (судящие учетные данные активного каталога), смогут использовать эту услугу?
Есть ли способ гарантировать, что к службе будут доступны только одобренные CIO приложения, поддерживая сервис как проверку подлинности Windows?
Выполняется ли эта проверка подлинности для каждого вызова служебной операции или только для первого вызова?
Есть ли способ, по которому служба сможет узнать учетные данные пользователя?
Примечание: я понимаю, что WindowsAuthentication можно сравнить с поставщиком членства, указав имя пользователя и пароль из централизованного местоположения. Его можно сравнить с провайдером членства ASP.Net или поставщиком членства в Active Directory.
Дальнейшее чтение:
ASP.NET Active Directory Membership Provider and SQL Profile Provider
http://www.theserverside.net/tt/articles/showarticle.tss?id=ClaimsBasedSecurityModel
Вот очень хорошее сообщение, которое иллюстрирует, как вы можете использовать группы AD для ограничения доступа к службе: http://stackoverflow.com/a/5136551/29407 –
@Darin. Благодарю. Надеюсь, что ссылка для моего второго вопроса. Не могли бы вы ответить и на другие вопросы? Также (для вопроса № 2) я не пытаюсь ограничивать доступ на основе роли; но и клиента. – Lijo