智慧水务管理系统 - 精河县供水工程综合管理平台

__init__.py 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. """
  2. 安全模块 (src/security)
  3. 统一导出所有安全组件
  4. 包含:
  5. - auth: RBAC 角色权限 + JWT 认证
  6. - middleware: 安全中间件(JWT 认证、CORS、限流、CSRF、安全 Headers)
  7. - encryption: 数据加密(AES-256-GCM)+ 响应脱敏
  8. - input_validator: 输入验证 + 注入防护
  9. - audit: 操作审计日志
  10. - config: 安全配置
  11. """
  12. # 认证与权限
  13. from .auth import (
  14. Role,
  15. ROLE_PERMISSIONS,
  16. hash_password,
  17. verify_password,
  18. create_access_token,
  19. create_refresh_token,
  20. decode_token,
  21. verify_access_token,
  22. verify_refresh_token,
  23. get_user_roles,
  24. check_permission,
  25. require_role,
  26. require_permission,
  27. extract_token_from_header,
  28. validate_password_strength,
  29. )
  30. # 中间件
  31. from .middleware import (
  32. SecurityMiddleware,
  33. RateLimiter,
  34. get_rate_limiter,
  35. generate_csrf_token,
  36. validate_csrf_token,
  37. get_client_ip,
  38. cors_middleware,
  39. )
  40. # 加密
  41. from .encryption import (
  42. FieldEncryptor,
  43. get_encryptor,
  44. encrypt_field,
  45. decrypt_field,
  46. encrypt_dict,
  47. decrypt_dict,
  48. encrypt_config_file,
  49. decrypt_config_file,
  50. mask_phone,
  51. mask_id_card,
  52. mask_email,
  53. mask_bank_card,
  54. mask_name,
  55. mask_ip,
  56. mask_response,
  57. )
  58. # 输入验证
  59. from .input_validator import (
  60. detect_sql_injection,
  61. sanitize_sql_value,
  62. detect_xss,
  63. escape_html,
  64. sanitize_html,
  65. FileUploadValidator,
  66. file_validator,
  67. validate_file_upload,
  68. sanitize_string,
  69. sanitize_number,
  70. validate_email_format,
  71. validate_phone_format,
  72. validate_id_card_format,
  73. )
  74. # 审计
  75. from .audit import (
  76. AuditAction,
  77. AuditResult,
  78. AuditSeverity,
  79. AuditEvent,
  80. AuditLogger,
  81. AuditStorage,
  82. AuditAlertManager,
  83. get_audit_logger,
  84. )
  85. # 配置
  86. from .config import (
  87. security_config,
  88. SecurityConfig,
  89. JWTConfig,
  90. EncryptionConfig,
  91. RateLimitConfig,
  92. CORSConfig,
  93. PasswordPolicyConfig,
  94. AuditConfig,
  95. )
  96. __all__ = [
  97. # Auth
  98. "Role", "ROLE_PERMISSIONS",
  99. "hash_password", "verify_password",
  100. "create_access_token", "create_refresh_token",
  101. "decode_token", "verify_access_token", "verify_refresh_token",
  102. "get_user_roles", "check_permission",
  103. "require_role", "require_permission",
  104. "extract_token_from_header", "validate_password_strength",
  105. # Middleware
  106. "SecurityMiddleware", "RateLimiter", "get_rate_limiter",
  107. "generate_csrf_token", "validate_csrf_token",
  108. "get_client_ip", "cors_middleware",
  109. # Encryption
  110. "FieldEncryptor", "get_encryptor",
  111. "encrypt_field", "decrypt_field",
  112. "encrypt_dict", "decrypt_dict",
  113. "encrypt_config_file", "decrypt_config_file",
  114. "mask_phone", "mask_id_card", "mask_email",
  115. "mask_bank_card", "mask_name", "mask_ip", "mask_response",
  116. # Input Validator
  117. "detect_sql_injection", "sanitize_sql_value",
  118. "detect_xss", "escape_html", "sanitize_html",
  119. "FileUploadValidator", "file_validator", "validate_file_upload",
  120. "sanitize_string", "sanitize_number",
  121. "validate_email_format", "validate_phone_format", "validate_id_card_format",
  122. # Audit
  123. "AuditAction", "AuditResult", "AuditSeverity", "AuditEvent",
  124. "AuditLogger", "AuditStorage", "AuditAlertManager", "get_audit_logger",
  125. # Config
  126. "security_config", "SecurityConfig",
  127. "JWTConfig", "EncryptionConfig", "RateLimitConfig",
  128. "CORSConfig", "PasswordPolicyConfig", "AuditConfig",
  129. ]