auth_framework/authorization_enhanced/
mod.rs

1//! Enhanced Authorization Module with role-system v1.0 integration
2//!
3//! This module provides enterprise-grade role-based access control (RBAC) using the
4//! role-system crate, offering hierarchical roles, conditional permissions, and
5//! comprehensive audit logging.
6
7#[cfg(feature = "enhanced-rbac")]
8pub mod service;
9
10#[cfg(feature = "enhanced-rbac")]
11pub mod middleware;
12
13#[cfg(feature = "enhanced-rbac")]
14pub mod context;
15
16#[cfg(feature = "enhanced-rbac")]
17mod hierarchy_tests_fixed;
18
19// #[cfg(feature = "enhanced-rbac")]
20// pub mod storage;
21
22// Re-export core role-system types for convenience
23#[cfg(feature = "enhanced-rbac")]
24pub use role_system::{
25    Permission, Resource, Role, Subject,
26    async_support::AsyncRoleSystem,
27    storage::{MemoryStorage, Storage},
28};
29
30// Legacy authorization support (deprecated)
31#[cfg(not(feature = "enhanced-rbac"))]
32pub use crate::permissions::PermissionChecker;
33
34#[cfg(not(feature = "enhanced-rbac"))]
35pub use crate::authorization as legacy_authorization;
36
37// Export the authorization service
38#[cfg(feature = "enhanced-rbac")]
39pub use service::AuthorizationService;
40
41// Export enhanced middleware
42#[cfg(feature = "enhanced-rbac")]
43pub use middleware::{
44    conditional_permission_middleware, rbac_middleware, require_permission,
45    role_elevation_middleware,
46};
47
48// Export context builders
49#[cfg(feature = "enhanced-rbac")]
50pub use context::{
51    AuthorizationContext, ConditionalEvaluator, ConnectionType, ContextBuilder, DayType,
52    DeviceType, SecurityLevel, TimeOfDay,
53};
54
55// Export storage adapters
56// #[cfg(feature = "enhanced-rbac")]
57// pub use storage::{DatabaseStorage, MemoryStorage};
58
59