У меня ситуация аутентификации, и я пытаюсь найти лучшее решение.См. Диаграмму ниже, но в основном у меня может быть несколько разных серверов, к которым наши пользователи могут обращаться (помеченных как 'сервер пользователя' на изображении)Кто-то может иметь логин на одном из них, но, вероятно, не на других.
Тогда у меня есть «сервер регистрации», где они могут проверить элемент, который может понадобиться любому из серверов.1 пул для всех серверов для совместного использования.
Каждый пользовательский сервер имеет свою собственную аутентификацию, чтобы видеть, есть ли у пользователя доступ к нему, только потому, что у пользователя есть доступ к одному серверу, не означает, что у него есть доступ к другому.Однако серверу регистрации необходимо учитывать запросы, поступающие с любого из пользовательских серверов, но нигде больше (без анонимного доступа).Если это помогает, все пользовательские серверы находятся в среде .net 4.6, а сервер регистрации - в ядре .net.
Мой лучший выбор для потока:
- Пользовательсервер отправляет запрос на сервер регистрации вместе с токеном аутентификации, который будет работать для себя (в зависимости от пользователя, выполняющего вызов)
- Сервер регистрации отправляет этот же токен обратно на сервер пользователя, спрашивая «это действительно?'
- Пользовательский сервер отвечает «да, это допустимо, выполните правильную аутентификацию»
- Сервер регистрации отправляет ответ на основании исходного 1) запроса.
Таким образом, серверу регистрации не нужно иметь собственную аутентификацию, он просто уважает аутентификацию серверов, пытающихся получить к нему доступ.Я поставил список аутентифицированных серверов на сервер регистрации, и я в порядке.
Вопрос в том, звучит ли это правильно?Это слишком болтливый?Есть ли лучший способ сделать то, что я ищу?Любые идеи будут с благодарностью.