Проверка подлинности Windows между службами в одном домене без делегирования Kerberos

У нас есть два приложения для интрасети, которые размещены в одном домене, оба размещены в IIS, оба используют проверку подлинности Windows, но размещены на разных серверах Windows 2008.

Моя цель - сделать так, чтобы веб-приложение A ASP.net вызывало службу B. Я также хочу, чтобы A передавал информацию об аутентификации вошедшего в систему пользователя B.

Во-первых, я хочу избежать делегирования Kerberos из-за проблем с его настройкой, а также из-за проблем безопасности.

Можете ли вы порекомендовать мне способы достижения моей цели?

1 ответ

Решение

Я не уверен, как вы думаете, что вы можете безопасно аутентифицировать B из A без делегирования.

Если вы не заинтересованы в том, чтобы сделать это безопасно, вы можете просто передать имя пользователя в запросе и выдать себя за другую сторону.

В качестве альтернативы вы можете вставить аутентифицированную информацию в токен (JWT, SAML и т. Д.), Подписать ее общим секретом и включить в запрос. Затем сервер B может проверить его, используя общий секрет, и при необходимости выдать себя за другого. Это означает, что вам нужно убедиться, что оба сервера знают секрет, и выяснить, как генерировать токен.

Делегация - умный способ пойти сюда все же. Вам не нужно выяснять олицетворение или придумывать способ чеканить и проверять токены. Это в первую очередь определяется конфигурацией.

Другие вопросы по тегам