Struct security_framework::authorization::Authorization[][src]

pub struct Authorization { /* fields omitted */ }

A wrapper around AuthorizationCreate and functions which operate on an AuthorizationRef.

Implementations

impl<'a> Authorization[src]

pub fn default() -> Result<Self>[src]

Creates an authorization object which has no environment or associated rights.

pub fn new(
    rights: Option<AuthorizationItemSetStorage>,
    environment: Option<AuthorizationItemSetStorage>,
    flags: Flags
) -> Result<Self>
[src]

Creates an authorization reference and provides an option to authorize or preauthorize rights.

rights should be the names of the rights you want to create.

environment is used when authorizing or preauthorizing rights. Not used in OS X v10.2 and earlier. In macOS 10.3 and later, you can pass icon or prompt data to be used in the authentication dialog box. In macOS 10.4 and later, you can also pass a user name and password in order to authorize a user without user interaction.

pub fn from_external_form(
    external_form: AuthorizationExternalForm
) -> Result<Self>
[src]

👎 Deprecated since 2.0.1:

Please use the TryFrom trait instead

Internalizes the external representation of an authorization reference.

pub fn destroy_rights(self)[src]

By default the rights acquired will be retained by the Security Server. Use this to ensure they are destroyed and to prevent shared rights' continued used by other processes.

pub fn get_right<T: Into<Vec<u8>>>(
    name: T
) -> Result<CFDictionary<CFString, CFTypeRef>>
[src]

Retrieve's the right's definition as a dictionary. Use right_exists if you want to avoid retrieving the dictionary.

name can be a wildcard right name.

If name isn't convertable to a CString it will return Err(errSecConversionError).

pub fn right_exists<T: Into<Vec<u8>>>(name: T) -> Result<bool>[src]

Checks if a right exists within the policy database. This is the same as get_right, but avoids a dictionary allocation.

If name isn't convertable to a CString it will return Err(errSecConversionError).

pub fn remove_right<T: Into<Vec<u8>>>(&self, name: T) -> Result<()>[src]

Removes a right from the policy database.

name cannot be a wildcard right name.

If name isn't convertable to a CString it will return Err(errSecConversionError).

pub fn set_right<T: Into<Vec<u8>>>(
    &self,
    name: T,
    definition: RightDefinition<'_>,
    description: Option<&str>,
    bundle: Option<CFBundleRef>,
    locale: Option<&str>
) -> Result<()>
[src]

Creates or updates a right entry in the policy database. Your process must have a code signature in order to be able to add rights to the authorization database.

name cannot be a wildcard right.

definition can be either a CFDictionaryRef containing keys defining the rules or a CFStringRef representing the name of another right whose rules you wish to duplicaate.

description is a key which can be used to look up localized descriptions.

bundle will be used to get localizations from if not the main bundle.

localeTableName will be used to get localizations if provided.

If name isn't convertable to a CString it will return Err(errSecConversionError).

pub fn copy_info<T: Into<Vec<u8>>>(
    &self,
    tag: Option<T>
) -> Result<AuthorizationItemSet<'_>>
[src]

An authorization plugin can store the results of an authentication operation by calling the SetContextValue function. You can then retrieve this supporting data, such as the user name.

tag should specify the type of data the Security Server should return. If None, all available information is retreieved.

If tag isn't convertable to a CString it will return Err(errSecConversionError).

pub fn make_external_form(&self) -> Result<AuthorizationExternalForm>[src]

Creates an external representation of an authorization reference so that you can transmit it between processes.

pub fn execute_with_privileges<P, S, I>(
    &self,
    command: P,
    arguments: I,
    flags: Flags
) -> Result<()> where
    P: AsRef<Path>,
    I: IntoIterator<Item = S>,
    S: AsRef<OsStr>, 
[src]

Runs an executable tool with root privileges.

Trait Implementations

impl Debug for Authorization[src]

impl Drop for Authorization[src]

impl TryFrom<AuthorizationExternalForm> for Authorization[src]

type Error = Error

The type returned in the event of a conversion error.

fn try_from(external_form: AuthorizationExternalForm) -> Result<Self>[src]

Internalizes the external representation of an authorization reference.

Auto Trait Implementations

impl RefUnwindSafe for Authorization[src]

impl !Send for Authorization[src]

impl !Sync for Authorization[src]

impl Unpin for Authorization[src]

impl UnwindSafe for Authorization[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.