Kerberos, делегирование и как это правильно сделать?

У нас есть два отдельных домашних приложения, которые должны общаться между собой. Одним из них является интерфейсное приложение (на самом деле asp.net), а другим - бэкэнд-интерфейс для бухгалтерского приложения. Внутренний интерфейс не был создан специально для этого интерфейса - это общий интерфейс, который многие другие приложения используют для интеграции с нашим продуктом.

Для удобства пользователей мы хотим обеспечить проверку подлинности Windows в нашем веб-приложении. Это означает, однако, что нам нужно передать учетные данные бэкэнд-приложению, которое должно их проверить.

Мы не хотим настраивать наш интерфейс как "доверенный» приложение к бэкэнду, которое может аутентифицировать себя как любой пользователь. Если фронтенд был взломан, он также поставил бы под угрозу бэкэнд-систему.

Насколько я понимаю, одним из способов сделать это с помощью аутентификации Windows является делегирование Kerberos. Однако для этого необходимо явно включить пользователя, которому необходимо делегировать, и машину, которая выполняет делегирование (сервер с нашим внешним интерфейсом). По умолчанию эти параметры отключены в Active Directory, и я подозреваю, что многие системные администраторы будут иметь резервирование для включения их для всех своих пользователей.

Также я'Я не совсем уверен, что именно для этого и была предназначена делегация Kerberos. Я ненам не нужен наш интерфейс, чтобы выдать себя за пользователя, который подключается. Мне просто нужно доказать, что этот пользователь аутентифицировался для меня.

Как бы вы это сделали?

Ответы на вопрос(3)

Ваш ответ на вопрос