У меня есть веб-приложение, которое при необходимости вызывает метод WCF с олицетворением. В этом методе мне нужно вызвать другую веб-службу (ASMX), которая возвращает группы безопасности. Проблема заключается в том, что с настройкой олицетворения как обязательным я получаю сообщение об ошибке при попытке создать экземпляр службы ASMX.Ошибка олицетворения WCF Вызов ASMX
метод службы WCF
[OperationBehavior(Impersonation = ImpersonationOption.Required)]
public List<MacroTypeInfo> GetFilteredMacroDataTypes(MacroDataTypeSection section)
{
// Errors out here
using (var login = new local.intranet.webservices.login())
{
login.getSecurityGroupsForUser(); // Never gets to this line
}
}
Ошибки я получаю
Either a required impersonation level was not provided, or the provided
impersonation level is invalid. (Exception from HRESULT: 0x80070542)
Есть ли что-то еще, что я должен сделать, чтобы быть в состоянии назвать это веб-сервис нутро это олицетворение нужный метод? Как только я удалю атрибут OperationBehavior, вызов будет работать.
FWIW вы должны ** никогда * никогда не использовать олицетворение, для * любой * причины. –
Не могли бы вы рассказать об этом? – user3726393
Олицетворение - это буквально самое худшее решение для аутентификации и авторизации. Даже если вы хотите разрешить централизованное администрирование через сервер Active Directory, вы не должны использовать олицетворение, которое вы должны аутентифицировать и авторизуять на сервере AD как API –