Поделиться через


Рекомендации по проектированию сервера состояний

Примечание

Служба проверки подлинности в Интернете (IAS) была переименована в сервер политики сети (NPS), начиная с Windows Server 2008. Содержание этого раздела относится как к IAS, так и к NPS. В тексте NPS используется для обозначения всех версий службы, включая версии, первоначально называемые IAS.

 

В зависимости от вашей структуры может потребоваться сервер для отслеживания пользователей, которые в настоящее время вошли в сеть. Задача main на сервере состояний заключается в том, чтобы данные в базе данных сервера состояний были синхронизированы с тем, кто фактически выполнил вход в систему. Если сведения на сервере состояний не синхронизированы, пользователи могут успешно выполнить несколько сеансов, если они не имеют для этого разрешения. Кроме того, пользователи, у которых нет нескольких сеансов, могут быть случайно наказаны.

При реализации сервера состояний следует учитывать следующее:

  • Сервер состояний должен принять решение в режиме "в сети" через несколько секунд. По этой причине серверу состояний требуется масштабируемая инфраструктура, которая может поддерживать множество обновлений и запросов в секунду. Реляционные базы данных не подходят для таких больших запросов с одновременными обновлениями. Реляционные базы данных в основном созданы для обеспечения согласованности данных и обеспечения согласованного представления данных для всех потребителей. Они не предназначены для быстрых обновлений.
  • Согласованность транзакций при обновлениях между несколькими объектами не важна. Это связано с тем, что сервер состояний может допускать небольшое окно возможностей. Тем не менее, согласованность транзакций одного обновления важна, чтобы снизить вероятность того, что сервер состояний будет оставаться в несогласованном состоянии, если один из radius-серверов завершает работу в середине обновления.
  • Сохраняемость (сохранение состояния сети до постоянного хранилища) не важна, так как постоянные данные быстро не синхронизируются с фактическим состоянием сети.
  • Если isDN или другие формы мультисвязи поддерживаются в сети, сервер состояний должен иметь возможность обрабатывать сценарии, использующие эти функции.

Одна из возможных проектов заключается в реализации библиотеки DLL расширения проверки подлинности и библиотеки DLL расширения авторизации. Каждый из этих библиотек DLL может взаимодействовать по сети с базой данных. Библиотека DLL расширения авторизации может обновить базу данных, указав сведения о том, кто в данный момент вошел в сеть. Библиотека DLL расширения проверки подлинности может запрашивать эти сведения в базе данных, чтобы принять или отклонить запрос на проверку подлинности определенного пользователя; Если пользователь уже вошел в систему, запрос отклоняется.

Преимущество того, что библиотека DLL расширения авторизации обновляет базу данных сервера состояния, заключается в том, что библиотека DLL расширения авторизации имеет доступ к дополнительным сведениям о пользователе, прошедшем проверку подлинности. Библиотека DLL расширения авторизации имеет доступ ко всем атрибутам авторизации из механизма авторизации NPS. Например, некоторые пользователи могут иметь разрешения, позволяющие им иметь несколько сеансов. Сервер состояний должен рассматривать таких пользователей как особый случай.