Enhance Active Directory management with dynamic group management, custom dashboards, and improved documentation.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 705f2157-ef97-4fbd-89e4-8c7f2ecaea90
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7ed01c5f-a82d-405a-b728-b2e3d127c60c/91bfedad-c6cf-43ef-9c07-9b11ffcf4a58.jpg
This commit is contained in:
alphaeusmote
2025-04-11 04:12:11 +00:00
parent 1074308f19
commit 300afeb0db
3 changed files with 124 additions and 23 deletions
+15
View File
@@ -35,11 +35,23 @@ The Active Directory Management Platform provides the following key features:
- **User Management**: Admin interface for managing platform users and their permissions
### Advanced Features
- **Dynamic Group Management**: Automated group membership management
- Rules based on LDAP queries for dynamic group assignment
- Scheduled execution with flexible cron expressions
- Variable support for dynamic group and OU naming
- Automatic creation of target groups and OUs as needed
- Multi-connection support for cross-domain management
- **Custom Dashboards**: Custom visualizations for Active Directory metrics
- Multiple chart types (bar, line, pie, etc.)
- Data export capabilities (PDF, image)
- Shareable dashboard snapshots with custom branding
- **LDAP Query Builder**: Visual interface for building, testing, and saving complex LDAP queries
- Filter version history with revision control
- Revert to previous filter versions
- Test filters against live Active Directory data
- Save frequently used filters for reuse
- Drag and drop condition reordering
- One-click copy feature for generated queries
- **API Filtering**: Dynamic property filtering on all API endpoints
- **Bulk Operations**: Efficient batch processing for operations on multiple directory objects
- **Audit Logging**: Comprehensive audit trail for all directory changes
@@ -191,6 +203,9 @@ Configuration is managed through environment variables. See [.env.example](.env.
- **LDAP**: Connection parameters for Active Directory
- **Rate Limiting**: API request restrictions
- **Logging**: Debug and audit log configuration
- **Default Admin**: Initial admin user configuration
- **Authentication**: LDAP and OpenID Connect (OIDC) authentication settings
- **Registration**: Enable/disable user registration
## LDAP Query Builder
+109
View File
@@ -0,0 +1,109 @@
# Active Directory Management API Features
## Core Features
### LDAP Connection Management
- Configure and manage multiple LDAP connections
- Test connections with automatic status tracking
- Support for TLS/SSL secure connections
### User Management
- View and search Active Directory users
- Filter by various attributes (name, email, department, etc.)
- Enable/disable user accounts
- Reset passwords
- Move users between Organizational Units
- Add/remove users from groups
### Group Management
- Create, edit, and delete groups
- View group memberships
- Add and remove members
- Change group scope and type
- Move groups between Organizational Units
### Dynamic Group Management
- Create LDAP query-based rules for automatic group membership
- Schedule rule execution with cron expressions (basic or advanced mode)
- Bind rules to specific LDAP connections
- Support for dynamic variables in group names and OU paths
- Automatic creation of groups and OUs as needed
### Organizational Unit Management
- Create, edit, and delete OUs
- Move OUs in the directory tree
- Set management delegation
### Computer Management
- View and search domain computers
- Filter by various attributes (name, OS, last logon)
- Enable/disable computer accounts
- Move computers between Organizational Units
- Add/remove computers from groups
### Domain Information
- View domain details and functional levels
- Domain controller information
- Trust relationships
### Sites and Subnets
- View and manage Active Directory sites
- Configure subnet assignments to sites
- Create and manage site links
### LDAP Query Builder
- Visual query builder with condition groups
- Support for multiple filter conditions
- Real-time LDAP filter generation
- Filter saving and version control
- One-click copy feature
- Drag and drop condition ordering
### Dashboard and Reporting
- Customizable dashboards with various chart types
- Data visualization for Active Directory metrics
- Export capability to PDF or images
- Shareable dashboard snapshots with custom branding
### API Access
- API token management for programmatic access
- Rate limiting and expiration controls
- Role-based access control for API consumers
### Audit Logging
- Comprehensive audit trail for all directory changes
- Filterable and searchable logs
- Export capability
## Authentication and Security
### Multi-method Authentication
- Local username/password authentication
- LDAP authentication against configured connections
- OpenID Connect (OIDC) integration
### Role-based Access Control
- Granular permission system
- Multiple user roles
- Role assignment and management
## Technical Features
### API Documentation
- Full Swagger/OpenAPI documentation
- Interactive API testing
- Downloadable API specifications
### Caching
- Redis caching support for improved performance
- Configurable cache expiration
### Performance Optimization
- Pagination for large data sets
- Request throttling
- Query optimization
### Deployment
- Docker-based deployment
- Comprehensive environment variable configuration
- Support for various deployment scenarios
-23
View File
@@ -49,29 +49,6 @@ const swaggerOptions = {
},
},
schemas: {
User: {
type: "object",
properties: {
id: { type: "integer" },
username: { type: "string" },
email: { type: "string" },
fullName: { type: "string" },
role: { type: "string" },
createdAt: { type: "string", format: "date-time" },
},
},
ApiToken: {
type: "object",
properties: {
id: { type: "integer" },
name: { type: "string" },
token: { type: "string" },
userId: { type: "integer" },
customPermissions: { type: "array", items: { type: "string" } },
expiresAt: { type: "string", format: "date-time" },
createdAt: { type: "string", format: "date-time" },
},
},
LdapConnection: {
type: "object",
properties: {