Domanda

Quindi ecco il mio codice attuale:

List<string> rowGroups = GetFileGroups((int)row.Cells["document_security_type"].Value);
bool found = false;
System.Security.Principal.WindowsPrincipal p = new System.Security.Principal.WindowsPrincipal(System.Security.Principal.WindowsIdentity.GetCurrent());

foreach (string group in rowGroups)
{
  if (p.IsInRole(group))
  {
    found = true;
    break;
  }
}

Questo è stato fatto un paio di mesi fa da qualcuno e ho difficoltà a capire perché non funziona. La società è appena passata da un nome di dominio a un altro. Quindi ero curioso di sapere quale controller di dominio utilizzerà la funzione p.IsInRole (& Quot; String & Quot;). Suppongo che utilizzerà il controller di dominio predefinito da qualsiasi computer stia utilizzando il computer.

L'elemento strano è che i computer dell'ufficio in cui è in esecuzione potrebbero trovarsi su 2 domini separati. Nell'oggetto List<string>, ho entrambi i domini possibili. quindi potrebbe contenere elementi come " domainA \ groupA " ;, " domainA \ userB " ;, domainB \ groupC " ;, e / o " domainB \ userD quot &;.

Quindi il mio problema maggiore è che la funzione IsInRole non sta mai tornando vera. so che dovrebbe, l'ho anche provato con gli utenti domainA \ Domain e ancora ottenere un falso restituito.

Qualche idea? la modifica del codice è possibile, ma non voluto. non sono al 100%, posso persino compilarlo ...

È stato utile?

Soluzione 2

Bene, per risolvere il problema ho dovuto aggiungere in modo specifico ogni utente del gruppo invece del nome del gruppo ...

Qualcun altro ha qualche idea?

Altri suggerimenti

Devo sottolineare, stai davvero sfuggendo al tuo carattere '\' correttamente nelle tue stringhe? Come in & Quot; domainA \\ groupA & Quot ;?

Ho riscontrato problemi quando le persone tentano di utilizzare gli elenchi di posta elettronica di Outlook in Active Directory per la sicurezza basata sui ruoli. Questi vengono visualizzati in Active Directory e sono difficili da distinguere dai gruppi di sicurezza effettivi (quelli a cui è possibile fare riferimento in ACL, ecc.). Chiedi al tuo amministratore di verificare quali gruppi stai utilizzando siano gruppi di sicurezza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top