pub struct PolicyEnforcer { /* private fields */ }Expand description
Policy enforcer
Implementations§
Source§impl PolicyEnforcer
impl PolicyEnforcer
Sourcepub fn new(policy: SecurityPolicy) -> Self
pub fn new(policy: SecurityPolicy) -> Self
Create a new policy enforcer
Sourcepub fn check_ip(&self, ip: &str) -> SecurityResult<()>
pub fn check_ip(&self, ip: &str) -> SecurityResult<()>
Check if an IP is allowed
Sourcepub fn check_tls(&self, is_tls: bool, version: &str) -> SecurityResult<()>
pub fn check_tls(&self, is_tls: bool, version: &str) -> SecurityResult<()>
Check if TLS is required
Sourcepub fn check_origin(&self, origin: &str) -> SecurityResult<()>
pub fn check_origin(&self, origin: &str) -> SecurityResult<()>
Check CORS origin
Sourcepub fn check_request_size(&self, size: usize) -> SecurityResult<()>
pub fn check_request_size(&self, size: usize) -> SecurityResult<()>
Check request size
Sourcepub fn check_endpoint(&self, endpoint: &str) -> SecurityResult<()>
pub fn check_endpoint(&self, endpoint: &str) -> SecurityResult<()>
Check if endpoint is allowed
Sourcepub fn check_mfa(&self, has_mfa: bool, is_sensitive: bool) -> SecurityResult<()>
pub fn check_mfa(&self, has_mfa: bool, is_sensitive: bool) -> SecurityResult<()>
Check if MFA is required
Sourcepub fn check_session(&self, created_at: DateTime<Utc>) -> SecurityResult<()>
pub fn check_session(&self, created_at: DateTime<Utc>) -> SecurityResult<()>
Check session validity
Sourcepub fn check_data_classification(
&self,
classification: &DataClassification,
) -> SecurityResult<()>
pub fn check_data_classification( &self, classification: &DataClassification, ) -> SecurityResult<()>
Validate data classification
Sourcepub fn check_request(&self, context: &SecurityContext) -> SecurityResult<()>
pub fn check_request(&self, context: &SecurityContext) -> SecurityResult<()>
Comprehensive security check
Sourcepub fn unblock_ip(&mut self, ip: &str)
pub fn unblock_ip(&mut self, ip: &str)
Remove an IP from the blocklist
Sourcepub fn get_policy(&self) -> &SecurityPolicy
pub fn get_policy(&self) -> &SecurityPolicy
Get the current policy
Sourcepub fn update_policy(&mut self, policy: SecurityPolicy)
pub fn update_policy(&mut self, policy: SecurityPolicy)
Update the policy
Auto Trait Implementations§
impl Freeze for PolicyEnforcer
impl RefUnwindSafe for PolicyEnforcer
impl Send for PolicyEnforcer
impl Sync for PolicyEnforcer
impl Unpin for PolicyEnforcer
impl UnwindSafe for PolicyEnforcer
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