Мне нужно расширить встроенную проверку подлинности WCF, поэтому мой новый должен работать бок о бок со встроенными.Расширение аутентификации WCF
Например, я хочу разрешить доступ с зарегистрированного IP (пользовательский auth) или с помощью имени пользователя + пароль (встроенный auth).
Я успешно реализовал ServiceAuthenticationManager
и ServiceAuthorizationManager
.
ServiceAuthenticationManager.Authenticate
просто добавляет IPrincipal
реализации к свойствам сообщений, ServiceAuthorizationManager.CheckAccessCore
копии IPrincipal
из входящих свойств сообщений в AuthorizationContext
свойств.
Однако ServiceAuthenticationManager.Authenticate
полностью разрушен для стандартных механизмов, даже если я возвращаю authPolicy
или результат base.Authenticate
.
Возможно, я пошел в неправильном направлении? Каков правильный способ добавления пользовательской проверки подлинности WCF, не затрагивая существующие? Как отказаться от встроенной аутентификации, если пользовательский сбой?