pub struct PermissionsAccessControl { /* private fields */ }Expand description
Access-Control-Plugin: erlaubt Topics nur, wenn sie im Permissions- XML fuer den Subject-Name matchen.
Implementations§
Source§impl PermissionsAccessControl
impl PermissionsAccessControl
Sourcepub fn register(
&mut self,
subject_name: String,
permissions: Permissions,
) -> PermissionsHandle
pub fn register( &mut self, subject_name: String, permissions: Permissions, ) -> PermissionsHandle
Programmatischer Constructor fuer Slot — nuetzlich fuer Tests ohne PropertyList-Weg.
Trait Implementations§
Source§impl AccessControlPlugin for PermissionsAccessControl
impl AccessControlPlugin for PermissionsAccessControl
Source§fn validate_local_permissions(
&mut self,
_local: IdentityHandle,
_participant_guid: [u8; 16],
props: &PropertyList,
) -> SecurityResult<PermissionsHandle>
fn validate_local_permissions( &mut self, _local: IdentityHandle, _participant_guid: [u8; 16], props: &PropertyList, ) -> SecurityResult<PermissionsHandle>
Validiert lokale Permissions (Governance.xml + Permissions.xml Read more
Source§fn validate_remote_permissions(
&mut self,
_local: IdentityHandle,
_remote: IdentityHandle,
remote_permissions_token: &[u8],
_remote_credential: &[u8],
) -> SecurityResult<PermissionsHandle>
fn validate_remote_permissions( &mut self, _local: IdentityHandle, _remote: IdentityHandle, remote_permissions_token: &[u8], _remote_credential: &[u8], ) -> SecurityResult<PermissionsHandle>
Validiert Remote-Permissions aus dem SEDP-Handshake. Read more
Source§fn check_create_datawriter(
&self,
perms: PermissionsHandle,
topic_name: &str,
) -> SecurityResult<AccessDecision>
fn check_create_datawriter( &self, perms: PermissionsHandle, topic_name: &str, ) -> SecurityResult<AccessDecision>
Darf dieser Participant einen DataWriter auf diesem Topic
erzeugen? Read more
Source§fn check_create_datareader(
&self,
perms: PermissionsHandle,
topic_name: &str,
) -> SecurityResult<AccessDecision>
fn check_create_datareader( &self, perms: PermissionsHandle, topic_name: &str, ) -> SecurityResult<AccessDecision>
Darf dieser Participant einen DataReader auf diesem Topic
erzeugen? Read more
Source§fn check_remote_datawriter_match(
&self,
_local: PermissionsHandle,
remote: PermissionsHandle,
topic_name: &str,
) -> SecurityResult<AccessDecision>
fn check_remote_datawriter_match( &self, _local: PermissionsHandle, remote: PermissionsHandle, topic_name: &str, ) -> SecurityResult<AccessDecision>
Darf der lokale Reader die Publication des Remote matchen? Read more
Source§fn check_remote_datareader_match(
&self,
_local: PermissionsHandle,
remote: PermissionsHandle,
topic_name: &str,
) -> SecurityResult<AccessDecision>
fn check_remote_datareader_match( &self, _local: PermissionsHandle, remote: PermissionsHandle, topic_name: &str, ) -> SecurityResult<AccessDecision>
Spiegelbildlich: darf Remote-Reader unseren Writer matchen?
Source§fn plugin_class_id(&self) -> &str
fn plugin_class_id(&self) -> &str
Plugin-Class-Id (z.B. “DDS:Access:Permissions:1.2”) fuer SPDP-
Annoncierung.
Source§fn check_create_participant(
&self,
_local_perms: PermissionsHandle,
_domain_id: u32,
) -> Result<AccessDecision, SecurityError>
fn check_create_participant( &self, _local_perms: PermissionsHandle, _domain_id: u32, ) -> Result<AccessDecision, SecurityError>
Spec §9.4.2.5:
check_create_participant. Default: permit
(kein Plugin-spezifisches Filtern). Read moreSource§fn check_remote_participant(
&self,
_local_perms: PermissionsHandle,
_remote_perms: PermissionsHandle,
_domain_id: u32,
) -> Result<AccessDecision, SecurityError>
fn check_remote_participant( &self, _local_perms: PermissionsHandle, _remote_perms: PermissionsHandle, _domain_id: u32, ) -> Result<AccessDecision, SecurityError>
Spec §9.4.2.6:
check_remote_participant — darf Remote-
Participant in unsere Domain joinen? Default: permit. Read moreSource§fn check_create_topic(
&self,
_local_perms: PermissionsHandle,
_topic_name: &str,
) -> Result<AccessDecision, SecurityError>
fn check_create_topic( &self, _local_perms: PermissionsHandle, _topic_name: &str, ) -> Result<AccessDecision, SecurityError>
Spec §9.4.2.10:
check_create_topic — darf der lokale
Subject ein Topic mit dem Namen erzeugen? Default: permit. Read moreSource§fn get_permissions_token(
&self,
_local_perms: PermissionsHandle,
) -> Result<Vec<u8>, SecurityError>
fn get_permissions_token( &self, _local_perms: PermissionsHandle, ) -> Result<Vec<u8>, SecurityError>
Spec §9.4.2.13:
get_permissions_token — opaker
Permissions-Token fuer SPDP-Annoncierung
(PID_PERMISSIONS_TOKEN 0x1002). Default: leer. Read moreSource§fn get_permissions_credential_token(
&self,
_local_perms: PermissionsHandle,
) -> Result<Vec<u8>, SecurityError>
fn get_permissions_credential_token( &self, _local_perms: PermissionsHandle, ) -> Result<Vec<u8>, SecurityError>
Spec §9.4.2.14:
get_permissions_credential_token — opake
Credential, die im Authentication-Plugin via
set_permissions_credential_and_token weitergereicht wird.
Default: leer. Read moreAuto Trait Implementations§
impl !Freeze for PermissionsAccessControl
impl RefUnwindSafe for PermissionsAccessControl
impl Send for PermissionsAccessControl
impl Sync for PermissionsAccessControl
impl Unpin for PermissionsAccessControl
impl UnsafeUnpin for PermissionsAccessControl
impl UnwindSafe for PermissionsAccessControl
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more