Crates.io | zbus_polkit |
lib.rs | zbus_polkit |
version | 5.0.0 |
source | src |
created_at | 2020-07-19 17:25:42.183202 |
updated_at | 2024-10-21 01:09:33.994328 |
description | PolicyKit binding |
homepage | |
repository | https://github.com/dbus2/zbus_polkit/ |
max_upload_size | |
id | 266929 |
size | 26,560 |
A crate to interact with PolicyKit, a toolkit for defining and handling authorizations. It is used for allowing unprivileged processes to speak to privileged processes.
Status: Stable.
use zbus::Connection;
use zbus_polkit::policykit1::*;
// Although we use `async-std` here, you can use any async runtime of choice.
#[async_std::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let connection = Connection::system().await?;
let proxy = AuthorityProxy::new(&connection).await?;
let subject = Subject::new_for_owner(std::process::id(), None, None)?;
let result = proxy.check_authorization(
&subject,
"org.zbus.BeAwesome",
&std::collections::HashMap::new(),
CheckAuthorizationFlags::AllowUserInteraction.into(),
"",
).await?;
Ok(())
}