pub struct SecurityManager { /* private fields */ }Expand description
Main security manager for filesystem operations
Implementations§
Source§impl SecurityManager
impl SecurityManager
Sourcepub fn new(config: SecurityConfig) -> Result<Self>
pub fn new(config: SecurityConfig) -> Result<Self>
Create a new security manager with configuration
Sourcepub async fn validate_operation_permission(
&self,
operation: &FileOperation,
) -> Result<ApprovalDecision>
pub async fn validate_operation_permission( &self, operation: &FileOperation, ) -> Result<ApprovalDecision>
Validate operation-specific permissions
This method provides granular validation for specific operation types, integrating with the path permission system and policy engine.
Sourcepub async fn validate_read_access(
&self,
operation: &FileOperation,
) -> Result<()>
pub async fn validate_read_access( &self, operation: &FileOperation, ) -> Result<()>
Validate read access to a path
Sourcepub async fn validate_write_access(
&self,
operation: &FileOperation,
) -> Result<ApprovalDecision>
pub async fn validate_write_access( &self, operation: &FileOperation, ) -> Result<ApprovalDecision>
Validate write access to a path (requires policy evaluation)
Sourcepub fn add_permission_rule(&mut self, rule: PathPermissionRule)
pub fn add_permission_rule(&mut self, rule: PathPermissionRule)
Add a permission rule to the path permission validator
Sourcepub fn evaluate_path_permissions(
&self,
path: &Path,
operations: &HashSet<OperationType>,
context: Option<&str>,
) -> PermissionEvaluation
pub fn evaluate_path_permissions( &self, path: &Path, operations: &HashSet<OperationType>, context: Option<&str>, ) -> PermissionEvaluation
Get permission evaluation for a specific path and operations
Sourcepub fn get_permission_coverage(&self) -> HashMap<String, usize>
pub fn get_permission_coverage(&self) -> HashMap<String, usize>
Get permission coverage statistics
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SecurityManager
impl RefUnwindSafe for SecurityManager
impl Send for SecurityManager
impl Sync for SecurityManager
impl Unpin for SecurityManager
impl UnwindSafe for SecurityManager
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more