2015-04-16 3 views
0

Что мне нужно сделать, так это передать учетные данные для клиента на веб-службу, а затем мой веб-сервис для аутентификации с помощью веб-службы AIF (ax) для передачи информации. В настоящее время моя клиентская программа проверяет подлинность HTTPS, проверку подлинности Windows на мой веб-сервис. мой веб-сервис затем подключается к AIF. в настоящее время веб-сервис работает как общая учетная запись. Но мне бы хотелось, чтобы учетные данные пользователя передавались так, что когда что-то создается в томе, мы знаем, что это пользователь, а не общая учетная запись. Что было бы самым простым способом.
Я пробовал код, такой как олицетворение метода.олицетворение от клиентского приложения до wcf до AX

 <OperationBehavior(Impersonation:=ImpersonationOption.Allowed)> 

, а затем пытается вызвать AIF под контекстом WindowsIdentity, но я не имею никакой удачи .... если конечно я сделать

generalJournal.ClientCredentials.Windows.ClientCredential.UserName = "" 
      'generalJournal.ClientCredentials.Windows.ClientCredential.Password = "" 
        'generalJournal.ClientCredentials.Windows.ClientCredential.Domain = "" 

это работает ... но мне нужно захватить учетные данные, которые уже прошли проверку подлинности ... любая помощь? спасибо

ответ

0

Об услуге вы установили servicePrincipalName и включили учетную запись службы для делегирования.

<configuration> 
    <services> 
    <service> 
     <endpoint> 
     <identity> 
      <servicePrincipalName value="server/YourService" /> 
     </identity> 
     </endpoint> 
    </service> 
    </services> 
</configuration> 

И SPN к AD.

setspn.exe –U –A server/YourService DOMAIN\SERVICEACCOUNT 

На певце конфигурации клиента должны установить userPrincipalName.

<configuration> 
    <system.serviceModel> 
    <client> 
     <endpoint> 
     <identity> 
      <userPrincipalName value="server/YourService" /> 
     </identity> 
     </endpoint> 
    </client> 
    </system.serviceModel> 
</configuration> 

 Смежные вопросы

  • Нет связанных вопросов^_^