Я бы не интегрировал аутентификацию на уровне базы данных, как при репликации базы данных или разрешении доступа с других серверов. Это может быть трудно поддерживать. Я бы предпочел слабосвязанный подход, предоставив на центральном сервере простую службу, которая позволяет другим серверам приложений выполнять запросы аутентификации.
Вам следует рассмотреть следующие вопросы (возможно, больше):
- Как избежать незашифрованной передачи паролей между серверами
- Вероятно, вы не сможете ограничить службу, если сеть серверов приложений аутентифицирует всех своих пользователей с одного и того же IP-адреса, поэтому вы можете захотеть ограничить доступ к определенным клиентам, чтобы избежать массового поиска мошенническими машинами действительных учетных записей.
- Как централизованно применять такие вещи, как истечение срока сеанса
- Как справиться / избежать простоя обслуживания
Методы, которые могут быть полезны:
В качестве альтернативы вы можете захотеть, чтобы клиенты использовали центральную службу для получения токена, который затем повышается и проверяется целевым сервером. Есть архитектуры, которые работают аналогично (например, Kerberos серверы билетов), которые могут служить источником вдохновения.