Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы SecurityFoundation ссылка класса SFAuthorization

Опции
Развертывание Target:

На этой странице
Язык:

SFAuthorization

SFAuthorization класс позволяет Вам ограничивать доступ пользователя к определенным функциям в Вашем приложении Mac или демоне.

SFAuthorization класс является интерфейсом Objective-C для некоторых функций в Authorization Services API. Можно использовать authorizationRef метод для получения ссылки авторизации, привыкшей в других вызовах к функциям Authorization Services. Authorization Services API документируется в Ссылку Authorization Services C.

Наследование


Соответствует


Оператор импорта


Swift

import SecurityFoundation

Objective C

@import SecurityFoundation;

Доступность


Доступный в OS X v10.3 и позже
  • Возвращает объект авторизации, инициализированный со стандартной средой, флагами и правами.

    Объявление

    Swift

    class func authorization() -> AnyObject!

    Objective C

    + (id)authorization

    Возвращаемое значение

    Объект авторизации.

    Оператор импорта

    Objective C

    @import SecurityFoundation;

    Swift

    import SecurityFoundation

    Доступность

    Доступный в OS X v10.3 и позже.

  • Возвращает объект авторизации, инициализированный с указанными флагами, правами и средой.

    Объявление

    Swift

    class func authorizationWithFlags(_ flags: AuthorizationFlags, rights rights: UnsafePointer<AuthorizationRights>, environment environment: UnsafePointer<AuthorizationEnvironment>) -> AnyObject!

    Objective C

    + (id)authorizationWithFlags:(AuthorizationFlags)flags rights:(const AuthorizationRights *)rights environment:(const AuthorizationEnvironment *)environment

    Параметры

    flags

    Немного маски для указания опций авторизации. Используйте следующие наборы опции:

    • Передайте константу kAuthorizationFlagDefaults если никакие опции не необходимы.

    • Укажите kAuthorizationFlagExtendRights маска для запроса прав. Можно также указать kAuthorizationFlagInteractionAllowed маска для разрешения взаимодействия с пользователем.

    • Укажите kAuthorizationFlagPartialRights и kAuthorizationFlagExtendRights маски для запроса частичных прав. Можно также указать kAuthorizationFlagInteractionAllowed маска для разрешения взаимодействия с пользователем.

    • Укажите kAuthorizationFlagPreAuthorize и kAuthorizationFlagExtendRights маски, чтобы предварительно авторизовать права.

    • Укажите kAuthorizationFlagDestroyRights маска, чтобы препятствовать тому, чтобы Концепция безопасности сохранила права, полученные во время этого вызова.

    rights

    Указатель на ряд прав авторизации Вы создаете. Передача NULL если приложение не требует никаких прав в это время.

    environment

    Данные, используемые при авторизации или предварительной авторизации прав. В OS X v10.3 и позже, можно передать значок или запросить данные использоваться в поле диалога аутентификации. Возможные значения для этого параметра перечислены в Security.framework/Headers/AuthorizationTags.h. Данные, переданные в этом параметре, не хранятся в ссылке авторизации; это используется только во время авторизации. Если Вы не передаете данных в этом параметре, передаете константу kAuthorizationEmptyEnvironment.

    Возвращаемое значение

    Объект авторизации.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import SecurityFoundation;

    Swift

    import SecurityFoundation

    Доступность

    Доступный в OS X v10.3 и позже.

    См. также

    + авторизация

  • Инициализирует объект авторизации со стандартной средой, флагами и правами.

    Объявление

    Swift

    init!()

    Objective C

    - (id)init

    Оператор импорта

    Objective C

    @import SecurityFoundation;

    Swift

    import SecurityFoundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Инициализирует объект авторизации с указанными флагами, правами и средой.

    Объявление

    Swift

    init!(flags flags: AuthorizationFlags, rights rights: UnsafePointer<AuthorizationRights>, environment environment: UnsafePointer<AuthorizationEnvironment>)

    Objective C

    - (id)initWithFlags:(AuthorizationFlags)flags rights:(const AuthorizationRights *)rights environment:(const AuthorizationEnvironment *)environment

    Параметры

    flags

    Немного маски для указания опций авторизации. Используйте следующие наборы опции:

    • Передайте константу kAuthorizationFlagDefaults если никакие опции не необходимы.

    • Укажите kAuthorizationFlagExtendRights маска для запроса прав. Можно также указать kAuthorizationFlagInteractionAllowed маска для разрешения взаимодействия с пользователем.

    • Укажите kAuthorizationFlagPartialRights и kAuthorizationFlagExtendRights маски для запроса частичных прав. Можно также указать kAuthorizationFlagInteractionAllowed маска для разрешения взаимодействия с пользователем.

    • Укажите kAuthorizationFlagPreAuthorize и kAuthorizationFlagExtendRights маски, чтобы предварительно авторизовать права.

    • Укажите kAuthorizationFlagDestroyRights маска, чтобы препятствовать тому, чтобы Концепция безопасности сохранила права, полученные во время этого вызова.

    rights

    Указатель на ряд прав авторизации Вы создаете. Передача NULL если приложение не требует никаких прав в это время.

    environment

    Данные, используемые при авторизации или предварительной авторизации прав. В OS X v10.3 и позже, можно передать значок или запросить данные использоваться в поле диалога аутентификации. Возможные значения для этого параметра перечислены в Security/AuthorizationTags.h. Если Вы не передаете данных в этом параметре, передаете константу kAuthorizationEmptyEnvironment.

    Возвращаемое значение

    Объект авторизации.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import SecurityFoundation;

    Swift

    import SecurityFoundation

    Доступность

    Доступный в OS X v10.3 и позже.

  • Возвращает ссылку авторизации для этого объекта.

    Объявление

    Swift

    func authorizationRef() -> AuthorizationRef

    Objective C

    - (AuthorizationRef)authorizationRef

    Возвращаемое значение

    Ссылка авторизации.

    Обсуждение

    Можно использовать ссылку авторизации в вызовах к функциям Authorization Services.

    Поскольку дополнительная информация видит Ссылку Authorization Services C.

    Оператор импорта

    Objective C

    @import SecurityFoundation;

    Swift

    import SecurityFoundation

    Доступность

    Доступный в OS X v10.3 и позже.

  • Авторизовывает и предварительно авторизовывает права получить доступ к привилегированной работе и возвращает предоставленные права.

    Оператор осуждения

    Использовать obtainWithRights:flags:environment:authorizedRights:error: вместо этого.

    Объявление

    Objective C

    - (OSStatus)permitWithRights:(const AuthorizationRights *)rights flags:(AuthorizationFlags)flags environment:(const AuthorizationEnvironment *)environment authorizedRights:(AuthorizationRights *)authorizedRights

    Параметры

    rights

    Указатель на ряд прав авторизации Вы создаете. Передача NULL если приложение не требует никаких прав в это время.

    flags

    Немного маски для указания опций авторизации. Используйте следующие наборы опции:

    • Передайте константу kAuthorizationFlagDefaults если никакие опции не необходимы.

    • Укажите kAuthorizationFlagExtendRights маска для запроса прав. Можно также указать kAuthorizationFlagInteractionAllowed маска для разрешения взаимодействия с пользователем.

    • Укажите kAuthorizationFlagPartialRights и kAuthorizationFlagExtendRights маски для запроса частичных прав. Можно также указать kAuthorizationFlagInteractionAllowed маска для разрешения взаимодействия с пользователем.

    • Укажите kAuthorizationFlagPreAuthorize и kAuthorizationFlagExtendRights маски, чтобы предварительно авторизовать права.

    • Укажите kAuthorizationFlagDestroyRights маска, чтобы препятствовать тому, чтобы Концепция безопасности сохранила права, полученные во время этого вызова.

    environment

    Данные, используемые при авторизации или предварительной авторизации прав. В OS X v10.3 и позже, можно передать значок или запросить данные использоваться в поле диалога аутентификации. Возможные значения для этого параметра перечислены в Security/AuthorizationTags.h. Если Вы не передаете данных в этом параметре, передаете константу kAuthorizationEmptyEnvironment.

    authorizedRights

    Указатель на недавно выделенный AuthorizationRights структура. По возврату эта структура содержит права, предоставленные Концепцией безопасности. Если Вы не запрашиваете эту информацию, передачу NULL. Если Вы указываете kAuthorizationFlagPreAuthorize маска в flags параметр, метод возвращает все требуемые права, включая не предоставленных, но флаги прав, которые не могли быть предварительно авторизованы, включают kAuthorizationFlagCanNotPreAuthorize бит.

    Освободите память, связанную с этим набором прав путем вызывания функции Authorization Services AuthorizationFreeItemSet.

    Обсуждение

    Существует три главных причины использовать этот метод. Первая причина состоит в том, чтобы предварительно авторизовать права путем указания kAuthorizationFlagPreAuthorize, kAuthorizationFlagInteractionAllowed, и kAuthorizationFlagExtendRights маски как опции авторизации. Когда право имеет нулевой тайм-аут, предварительная авторизация является самой полезной. Например, можно предварительно авторизовать в приложении и если оно успешно выполняется, вызовите инструмент помощника и запросите авторизацию. Если Концепция безопасности не может позже авторизовать указанные права, это устраняет вызов инструмента помощника.

    Вторая причина использовать этот метод состоит в том, чтобы авторизовать права прежде, чем выполнить привилегированную работу путем указания kAuthorizationFlagInteractionAllowed, и kAuthorizationFlagExtendRights маски как опции авторизации.

    Третья причина использовать этот метод состоит в том, чтобы авторизовать частичные права. Путем указания kAuthorizationFlagPartialRights, kAuthorizationFlagInteractionAllowed, и kAuthorizationFlagExtendRights маски как опции авторизации, Концепция безопасности предоставляет все права, которые она может авторизовать. По возврату авторизованный набор содержит все права.

    Если Вы не указываете kAuthorizationFlagPartialRights маска и Концепция безопасности отклоняют по крайней мере одно право, тогда состояние этого метода по возврату errAuthorizationDenied.

    Если Вы не указываете kAuthorizationFlagInteractionAllowed маска и Концепция безопасности требуют взаимодействия с пользователем, тогда состояние этого метода по возврату errAuthorizationInteractionNotAllowed.

    Если Вы указываете kAuthorizationFlagInteractionAllowed маска и пользователь отменяют процесс аутентификации, тогда состояние этого метода по возврату errAuthorizationCanceled.

    Специальные замечания

    authorizedRights параметр не поддерживается в OS X v10.3; используйте функцию Authorization Services AuthorizationCopyRights вместо этого. В OS X v10.3 существует ошибка в подписи в заголовочном файле для этого параметра. Если Вы передаете этот параметр как (AuthorizationRights **)authorizedRights, как показано в этом документе, это работает, как описано.

    Оператор импорта

    Objective C

    @import SecurityFoundation;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.5.

  • Авторизовывает и предварительно авторизовывает права получить доступ к привилегированной работе и возвращает предоставленные права.

    Объявление

    Swift

    func obtainWithRights(_ rights: UnsafePointer<AuthorizationRights>, flags flags: AuthorizationFlags, environment environment: UnsafePointer<AuthorizationEnvironment>, authorizedRights authorizedRights: UnsafeMutablePointer<UnsafeMutablePointer<AuthorizationRights>>, error error: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)obtainWithRights:(const AuthorizationRights *)rights flags:(AuthorizationFlags)flags environment:(const AuthorizationEnvironment *)environment authorizedRights:(AuthorizationRights **)authorizedRights error:(NSError **)error

    Параметры

    rights

    Указатель на ряд прав авторизации Вы создаете. Передача NULL если приложение не требует никаких прав в это время.

    flags

    Немного маски для указания опций авторизации. Используйте следующие наборы опции:

    • Передайте константу kAuthorizationFlagDefaults если никакие опции не необходимы.

    • Укажите kAuthorizationFlagExtendRights маска для запроса прав. Можно также указать kAuthorizationFlagInteractionAllowed маска для разрешения взаимодействия с пользователем.

    • Укажите kAuthorizationFlagPartialRights и kAuthorizationFlagExtendRights маски для запроса частичных прав. Можно также указать kAuthorizationFlagInteractionAllowed маска для разрешения взаимодействия с пользователем.

    • Укажите kAuthorizationFlagPreAuthorize и kAuthorizationFlagExtendRights маски, чтобы предварительно авторизовать права.

    • Укажите kAuthorizationFlagDestroyRights маска, чтобы препятствовать тому, чтобы Концепция безопасности сохранила права, полученные во время этого вызова.

    environment

    Данные, используемые при авторизации или предварительной авторизации прав. В OS X v10.3 и позже, можно передать значок или запросить данные использоваться в поле диалога аутентификации. Возможные значения для этого параметра перечислены в Security/AuthorizationTags.h. Если Вы не передаете данных в этом параметре, передаете константу kAuthorizationEmptyEnvironment.

    authorizedRights

    Указатель на недавно выделенный AuthorizationRights структура. По возврату эта структура содержит права, предоставленные Концепцией безопасности. Если Вы не запрашиваете эту информацию, передачу NULL. Если Вы указываете kAuthorizationFlagPreAuthorize маска в flags параметр, метод возвращает все требуемые права, включая не предоставленных, но флаги прав, которые не могли быть предварительно авторизованы, включают kAuthorizationFlagCanNotPreAuthorize бит.

    Освободите память, связанную с этим набором прав путем вызывания функции Authorization Services AuthorizationFreeItemSet.

    error

    На завершении, код результата, возвращенный методом. См. “Коды Результата” в Ссылке Authorization Services C.

    Возвращаемое значение

    YEStrue если работа завершается успешно.

    Обсуждение

    Существует три главных причины использовать этот метод. Первая причина состоит в том, чтобы предварительно авторизовать права путем указания kAuthorizationFlagPreAuthorize, kAuthorizationFlagInteractionAllowed, и kAuthorizationFlagExtendRights маски как опции авторизации. Когда право имеет нулевой тайм-аут, предварительная авторизация является самой полезной. Например, можно предварительно авторизовать в приложении и если оно успешно выполняется, вызовите инструмент помощника и запросите авторизацию. Если Концепция безопасности не может позже авторизовать указанные права, это устраняет вызов инструмента помощника.

    Вторая причина использовать этот метод состоит в том, чтобы авторизовать права прежде, чем выполнить привилегированную работу путем указания kAuthorizationFlagInteractionAllowed, и kAuthorizationFlagExtendRights маски как опции авторизации.

    Третья причина использовать этот метод состоит в том, чтобы авторизовать частичные права. Путем указания kAuthorizationFlagPartialRights, kAuthorizationFlagInteractionAllowed, и kAuthorizationFlagExtendRights маски как опции авторизации, Концепция безопасности предоставляет все права, которые она может авторизовать. По возврату авторизованный набор содержит все права.

    Если Вы не указываете kAuthorizationFlagPartialRights маска и Концепция безопасности отклоняют по крайней мере одно право, тогда возвраты метода NOfalse и error возвраты параметра errAuthorizationDenied.

    Если Вы не указываете kAuthorizationFlagInteractionAllowed маска и Концепция безопасности требуют взаимодействия с пользователем, тогда возвратов метода NOfalse и error возвраты параметра errAuthorizationInteractionNotAllowed.

    Если Вы указываете kAuthorizationFlagInteractionAllowed маска и пользователь отменяют процесс аутентификации, тогда возвраты метода NOfalse и error возвраты параметра errAuthorizationCanceled.

    Оператор импорта

    Objective C

    @import SecurityFoundation;

    Swift

    import SecurityFoundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Авторизовывает и предварительно авторизовывает одно определенное право.

    Оператор осуждения

    Использовать obtainWithRight:flags: вместо этого.

    Объявление

    Objective C

    - (OSStatus)permitWithRight:(AuthorizationString)rightName flags:(AuthorizationFlags)flags

    Параметры

    rightName

    Имя права авторизации.

    flags

    Немного маски для указания опций авторизации. Посмотрите permitWithRights:flags:environment:authorizedRights для подробных данных о возможных флаговых значениях.

    Обсуждение

    Используйте этот метод, чтобы авторизовать или предварительно авторизовать единственное право.

    Оператор импорта

    Objective C

    @import SecurityFoundation;

    Доступность

    Доступный в OS X v10.3 и позже.

    Осуждаемый в OS X v10.5.

  • Авторизовывает и предварительно авторизовывает одно определенное право.

    Объявление

    Swift

    func obtainWithRight(_ rightName: AuthorizationString, flags flags: AuthorizationFlags, error error: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)obtainWithRight:(AuthorizationString)rightName flags:(AuthorizationFlags)flags error:(NSError **)error

    Параметры

    rightName

    Имя права авторизации.

    flags

    Немного маски для указания опций авторизации. Посмотрите obtainWithRights:flags:environment:authorizedRights:error: для подробных данных о возможных флаговых значениях.

    error

    На завершении, код результата, возвращенный методом. См. “Коды Результата” в Ссылке Authorization Services C.

    Возвращаемое значение

    YEStrue если работа завершается успешно.

    Обсуждение

    Используйте этот метод, чтобы авторизовать или предварительно авторизовать единственное право.

    Оператор импорта

    Objective C

    @import SecurityFoundation;

    Swift

    import SecurityFoundation

    Доступность

    Доступный в OS X v10.3 и позже.