2010-08-17 1 views
3

Работа с PrincipalContext в коде, который находится за WCF-сервисом. Служба WCF олицетворяет себя, чтобы обеспечить аутентификацию типа «сквозной».System.DirectoryServices.AccountManagement.PrincipalContext и олицетворение в службе WCF

Хотя все остальное, что я делаю с Active Directory (в основном пространство имен System.DirectoryServices.Protocols), прекрасно работает в этом сценарии, по какой-то причине классы в System.DirectoryServices.AccountManagement бросают подгонку. Пример кода, который не может:

PrincipalContext context = new PrincipalContext(ContextType.Domain, domainName); 
UserPrincipal user = 
    UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, UserName); 

Когда я делаю вызов FindByIdentity, я получаю COMException: «Ошибка операции произошла». Звонки в PrincipalContext также терпят неудачу, например .:

string server = context.ConnectedServer; 

Оба OperationContext.Current.ServiceSecurityContext и Thread.CurrentPrincipal.Identity показывают олицетворение работает правильно. И, как я уже сказал, другие задачи AD в S.DS.P работают нормально.

Если я явно установил учетные данные на PrincipalContext, все будет работать. Например:

PrincipalContext context = 
    new PrincipalContext(ContextType.Domain, domainName, user, password); 
UserPrincipal user = 
    UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, UserName); 

Теперь все работает. Но я не буду знать имя пользователя и пароль от вызывающего; Я должен полагаться на олицетворение.

Любые идеи о том, что может вызвать проблему, которую я вижу?

Заранее благодарен! James

ответ

1

Убедитесь, что для пула приложений установлен spn, делегирование установлено в AD и что учетная запись пула приложений действует как часть привилегии os.

+0

Я не уверен, что вы подразумеваете под spn для пула приложений; Я использую пул приложений, посвященный этой службе, просто не уверен, что такое spn. Что вы должны установить в AD для делегирования? Я проверю последний номер –

+0

spn = Название участника услуги – ecounysis

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

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