У меня есть несколько приложений на основе ASP.NET MVC 5, работающих на одном сервере IIS с разными веб-пулами.
Все мои приложения используют проверку подлинности Windows для входа пользователя в систему. Моя проблема заключается в том, что пользователь должен пройти проверку подлинности для каждого приложения, прежде чем он / она сможет его использовать.
Я изучаю создание нового приложения, которое будет управлять аутентификацией и передавать сеанс с проверкой подлинности Windows остальным приложениям. Таким образом, в моих существующих приложениях я бы перенаправлял на новое приложение, также известное как приложение authenticationBroker, если сеанс недоступен. Мой authenticationBroker предложит пользователю предоставить учетные данные Windows, после аутентификации пользователь перенаправляется обратно в приложение-реферер вместе с аутентифицированным сеансом, поэтому я могу передать тот же сеанс другим интегрированным службам, если это необходимо.
Я могу спроектировать свой authenticationBroker так, чтобы он создавал токен после аутентификации пользователя и сохранял его где-нибудь в базе данных. Затем я могу использовать этот токен для получения пользователя, создающего идентификатор пользователя. Однако это не будет совместно использовать мой сеанс аутентификации IIS с приложениями, вместо этого он будет использовать токен.
Как мне создать брокера проверки подлинности, который будет передавать и управлять моим фактическим сеансом проверки подлинности Windows для всех моих приложений?