Аутентификация соединений
NSConnection
объект может быть присвоен делегат, имеющий две возможной ответственности: утверждение формирования новых соединений и аутентификации сообщений та передача между NSConnection
объекты.
Когда именованное NSConnection
с объектом связывается клиент и формирует дочерний элемент NSConnection
объект связаться с тем клиентом, это отправляет connection:shouldMakeNewConnection:
его делегату сначала для утверждения нового соединения. Если возвращается делегат NO
соединению отказывают. Этот метод полезен для ограничения нагрузки на сервер. Это также полезно для установки делегата дочернего элемента NSConnection
объект (так как делегаты не совместно используются автоматически родителем и дочерним элементом).
Переносимые Распределенные Объекты добавляют аутентификацию сообщений к NSConnection
API. Делегаты в различных приложениях могут сотрудничать для проверки передачи сообщений между ними путем реализации authenticationDataForComponents:
и authenticateComponents:withData:
. Первый метод запрашивает штамп аутентификации на исходящее сообщение, использующееся вторым методом для проверки законности сообщения, когда это получено.
authenticationDataForComponents:
обеспечивает компоненты в корпусе для исходящего сетевого сообщения в форме NSData
и NSPort
объекты. Делегат должен использовать только NSData
объекты создать штамп аутентификации, путем хеширования данных, вычисления контрольной суммы или некоторого другого метода. Штамп должен быть достаточно маленьким для не оказывания негативное влияние на производительность сети. Делегат в приложении получения получает authenticateComponents:withData:
сообщение для подтверждения сообщения, и должно повторно вычислить штамп для компонентов и сравнить его с предоставленным штампом. Если это возвращается YES
сообщение передается; если это возвращается NO
, NSFailedAuthenticationException
повышен и сообщение регистрируется к консоли.