[−][src]Struct security_framework::authorization::Authorization
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]
rights: Option<AuthorizationItemSetStorage>,
environment: Option<AuthorizationItemSetStorage>,
flags: Flags
) -> Result<Self>
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]
external_form: AuthorizationExternalForm
) -> Result<Self>
Internalizes the external representation of an authorization reference.
TODO: TryFrom when security-framework stops supporting rust versions which don't have it.
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]
name: T
) -> Result<CFDictionary<CFString, CFTypeRef>>
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]
&self,
name: T,
definition: RightDefinition,
description: Option<&str>,
bundle: Option<CFBundleRef>,
locale: Option<&str>
) -> Result<()>
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]
&self,
tag: Option<T>
) -> Result<AuthorizationItemSet>
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.
Trait Implementations
impl Debug for Authorization
[src]
impl Drop for Authorization
[src]
Auto Trait Implementations
impl RefUnwindSafe for Authorization
impl !Send for Authorization
impl !Sync for Authorization
impl Unpin for Authorization
impl UnwindSafe for Authorization
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,