Аутентификация соединений

NSConnection объект может быть присвоен делегат, имеющий две возможной ответственности: утверждение формирования новых соединений и аутентификации сообщений та передача между NSConnection объекты.

Когда именованное NSConnection с объектом связывается клиент и формирует дочерний элемент NSConnection объект связаться с тем клиентом, это отправляет connection:shouldMakeNewConnection: его делегату сначала для утверждения нового соединения. Если возвращается делегат NO соединению отказывают. Этот метод полезен для ограничения нагрузки на сервер. Это также полезно для установки делегата дочернего элемента NSConnection объект (так как делегаты не совместно используются автоматически родителем и дочерним элементом).

Переносимые Распределенные Объекты добавляют аутентификацию сообщений к NSConnectionAPI. Делегаты в различных приложениях могут сотрудничать для проверки передачи сообщений между ними путем реализации authenticationDataForComponents: и authenticateComponents:withData:. Первый метод запрашивает штамп аутентификации на исходящее сообщение, использующееся вторым методом для проверки законности сообщения, когда это получено.

authenticationDataForComponents: обеспечивает компоненты в корпусе для исходящего сетевого сообщения в форме NSData и NSPort объекты. Делегат должен использовать только NSData объекты создать штамп аутентификации, путем хеширования данных, вычисления контрольной суммы или некоторого другого метода. Штамп должен быть достаточно маленьким для не оказывания негативное влияние на производительность сети. Делегат в приложении получения получает authenticateComponents:withData: сообщение для подтверждения сообщения, и должно повторно вычислить штамп для компонентов и сравнить его с предоставленным штампом. Если это возвращается YES сообщение передается; если это возвращается NO, NSFailedAuthenticationException повышен и сообщение регистрируется к консоли.