Это может быть глупо, но у кого-нибудь есть идеи, как:
Передайте маркер Windows пользователя (аутентифицируемый из домена) вызываемой службе wcf - служба затем выполнит действие на основе учетных данных Windows пользователя, которые сделали вызов.
то есть: Клиент -> WCF -> НЕКОТОРЫЕ ХРАНИЛИЩА 3-Й СТОРОНЫ, КОТОРЫЕ ИНТЕГРИРУЮТ С АКТИВНОЙ КАТАЛОГОМ.
У меня есть уровень данных wcf, который отвечает за возврат всех данных - в настоящее время клиент звонит в эту службу. Этот сервис извлекает документы из хранилища. Заказчик хотел бы добиться этого, управляя всеми учетными записями с помощью AD, поскольку хранилище поддерживает интеграцию с AD.
Любая помощь будет оценена - спасибо: -)
---------- обновление
Я следил за статьей Джезелл, но у меня все еще есть проблемы.
Я хочу использовать upn, а не spn (чтобы учетная запись могла быть заблокирована и более безопасной), но я не уверен, что у меня получилось, что неправильно.
Я создал spn на сервере AD (пробовал каждую комбинацию, без дубликатов)
Вот фрагмент кода, возможно, у кого-то есть представление о том, что я делаю неправильно.
Dim binding As New NetTcpBinding()
binding.Security.Mode = SecurityMode.Message
binding.Security.Message.AlgorithmSuite = System.ServiceModel.Security.SecurityAlgorithmSuite.Basic128
binding.Security.Message.ClientCredentialType = MessageCredentialType.Windows
Dim upn As String = "usertest@testdomain.com"
Dim ep As New EndpointAddress(New Uri("net.tcp://server1.testdomain.com:1111/ServiceTest") _
, EndpointIdentity.CreateUpnIdentity(upn))
Dim factory As New ChannelFactory(Of Credential.Interface.ICredentialTest)(binding, ep)
factory.Credentials.Windows.AllowNtlm = False
factory.Credentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Delegation
Dim iproxy As Credential.Interface.ICredentialTest = factory.CreateChannel()
Dim co As ICommunicationObject = CType(iproxy, ICommunicationObject)
iproxy.ToService(result)
Теперь я получаю сообщение об ошибке: «Проверка подлинности не удалась для исходящего сообщения. Ожидаемая личность ...
Все, что я могу найти по этому поводу, относится к использованию сертификатов, чего я не делаю.
Спасибо: -)