mirror of
https://github.com/freedbygrace/ActiveDirectoryManager.git
synced 2026-08-22 16:17:17 +00:00
Fix dynamic group creation by ensuring rootDSE is included in the target group DN.
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/8067ff26-7051-4f66-861e-57f8abe7a2db.jpg
This commit is contained in:
@@ -128,9 +128,44 @@ export const RuleEditor: React.FC<RuleEditorProps> = ({ rule, onSave, onCancel }
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Compute the full target group DN
|
// Compute the full target group DN
|
||||||
|
// Get the rootDSE string based on the first selected LDAP connection
|
||||||
|
const getRootDSE = () => {
|
||||||
|
if (!formData.connections || formData.connections.length === 0) {
|
||||||
|
return "DC=example,DC=com"; // Default if no connection selected
|
||||||
|
}
|
||||||
|
|
||||||
|
const selectedConnection = ldapConnections.find(conn =>
|
||||||
|
formData.connections.includes(conn.id)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!selectedConnection || !selectedConnection.domain) {
|
||||||
|
return "DC=example,DC=com"; // Fallback if no domain info
|
||||||
|
}
|
||||||
|
|
||||||
|
const domainParts = selectedConnection.domain.split('.');
|
||||||
|
return domainParts.map(part => `DC=${part}`).join(',');
|
||||||
|
};
|
||||||
|
|
||||||
|
// Ensure OU path has rootDSE appended
|
||||||
|
const ensureRootDSE = (ouPath: string) => {
|
||||||
|
if (!ouPath) return '';
|
||||||
|
|
||||||
|
// Check if the path already contains DC=
|
||||||
|
if (ouPath.includes('DC=')) {
|
||||||
|
return ouPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ensure a comma between the OU path and rootDSE if needed
|
||||||
|
const separator = ouPath.endsWith(',') ? '' : ',';
|
||||||
|
return `${ouPath}${separator}${getRootDSE()}`;
|
||||||
|
};
|
||||||
|
|
||||||
const getTargetGroupDN = () => {
|
const getTargetGroupDN = () => {
|
||||||
if (!formData.targetGroupName || !formData.targetOU) return '';
|
if (!formData.targetGroupName || !formData.targetOU) return '';
|
||||||
return `CN=${formData.targetGroupName},${formData.targetOU}`;
|
|
||||||
|
// Ensure targetOU has rootDSE
|
||||||
|
const fullOU = ensureRootDSE(formData.targetOU);
|
||||||
|
return `CN=${formData.targetGroupName},${fullOU}`;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Handle form submission
|
// Handle form submission
|
||||||
|
|||||||
Reference in New Issue
Block a user