Среда - это приложения, основанные на собственных услугах, работающие в среде Windows с WCF.
Существует несколько «промежуточных» веб-приложений и веб-служб ASP.NET, которые проверяют подлинность конечного клиента с использованием проверки подлинности Windows и используют роли ASP.NET, чтобы установить для Thread.CurrentPrincipal подходящий RolePrincipal. Каждое из этих приложений работает под собственной учетной записью службы, которая является учетной записью домена, и считается доверенной подсистемой.
Некоторые внутренние веб-службы WCF, к которым могут обращаться только эти надежные приложения «среднего уровня». Они используют проверку подлинности Windows для ограничения доступа к учетным записям служб, используемым этими приложениями.
Теперь у нас есть требование к внутренним службам проверять личность конечного клиента, чей вызов к приложению среднего уровня привел к вызову внутренней службы.
Чтобы избежать внесения каких-либо изменений в приложение, я думал о написании поведения конечной точки, которое вставляет заголовок SOAP с идентификатором конечного клиента в запрос, отправляемый фоновой службе. Обратите внимание, что приложения среднего уровня являются доверенными, поэтому аутентификация этого заголовка SOAP не потребуется.
Мне пришло в голову, что это требование не может быть уникальным, поэтому, прежде чем я изобрел свой собственный заголовок SOAP для этой цели, я подумал, что я хотел бы спросить, существуют ли какие-либо стандарты в этой области, которые я мог бы использовать повторно?