WCF имеет богатую модель безопасности, я надеюсь, что каждый может согласиться с этим как данностью. Недавно я столкнулся с ситуацией, когда нашим клиентским приложениям (приложениям на основе WCF, которые используют учетные данные пользователя в домене) необходимо было взаимодействовать со службами, которые мы должны были развернуть в центре обработки данных за пределами нашего домена и контролировать. Следовательно, это нарушило нашу модель единого входа, и я хотел бы знать, имел ли кто-нибудь из вас успех в распространении модели безопасности на службы за пределами домена.
Наша идентификационная модель опирается на классы IIdentity и IPrincipal (не на WindowsIdentity / WindowsPrincipal), поэтому использование альтернативной реализации идентификации вполне подойдет. Поскольку мой вопрос подразумевает, у меня нет ответа, и я надеюсь, что у вас есть. Единственное решение, с которым я играл, требует, чтобы клиент проходил аутентификацию в нашем домене так же, как и сейчас. В рамках аутентификации им будет предоставлен сертификат X.509, подписанный нашим ЦС (которому будет доверять центр обработки данных). Сертификаты будут размещаться в хранилище сертификатов (я полагаю, что есть один, связанный с .NET, но я не уверен в его способности использовать его в среде, где пользователи время от времени перемещаются) и создаваться / предоставляться пользователю по запросу.
Буду признателен за любые отзывы и / или идеи.
Редактировать
У нас есть услуги, которые все еще находятся в нашем центре обработки данных в дополнение к удаленному центру обработки данных. Я хотел бы предложить решение, которое требует только одного входа (и, кстати, наши пользователи должны вводить свое имя пользователя и пароль каждый раз, когда они запускают это приложение).