Pergunta

Então aqui está o meu código atual:

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;
  }
}

Isso foi feito um par de meses atrás por alguém e eu estou tendo dificuldade em entender por que não o seu trabalho. A empresa foi recentemente acabado de se mudar de um nome de domínio para outro. Então, eu estava curioso para o controlador de domínio do p.IsInRole ( "String") irá usar. Estou assumindo que o seu vai usar o padrão DC por qualquer que seja o computador está usando.

O item estranho é que os computadores no escritório onde isso está em execução poderia ser em 2 domínios separados. No objeto List<string>, eu tenho ambos os domínios possíveis. por isso poderia conter itens como "domainA \ grupo A", "domainA \ userB", domainB \ groupC" e / ou "domainB \ userD".

Assim, a minha grande problema é que a função IsInRole nunca está retornando true. eu sei que deveria, eu mesmo testei com usuários domainA \ Domain e ainda obter um falso retornado.

Todas as idéias? alterar o código é possível, mas não queria. Eu não estou 100% i ainda pode compilá-lo ...

Foi útil?

Solução 2

Bem, para corrigir o problema que eu só tinha para adicionar especificamente cada usuário do grupo, em vez do nome do grupo ...

Alguém tem alguma idéia?

Outras dicas

Eu tenho que apontar, você está realmente correria do seu caráter '\' corretamente dentro de suas cordas? Como em "domainA \\ grupo A"?

Já vi problemas quando as pessoas tentam usar listas Outlook de email no Active Directory para segurança baseada papel. Estes mostram-se no Active Directory e é difícil dizer para além de grupos de segurança reais (aqueles que você pode fazer referência em ACLs, etc). Peça ao administrador verificar o que quer que grupos você está usando são grupos de segurança.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top