Вопрос

Итак, вот мой текущий код:

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

Это было сделано пару месяцев назад кем-то, и мне трудно понять, почему это не работает. Компания недавно перешла от одного доменного имени к другому. Поэтому мне было интересно, какой контроллер домена будет использовать функция p.IsInRole (& Quot; String & Quot;). Я предполагаю, что он будет использовать DC по умолчанию независимо от того, какой компьютер использует.

Странно, что компьютеры в офисе, где это работает, могут находиться в двух отдельных доменах. В объекте List<string> у меня есть оба возможных домена. поэтому он может содержать такие элементы, как " domainA \ groupA " ;, " domainA \ userB " ;, domainB \ groupC " и / или & Quot; DomainB \ userD Quot &;.

Итак, моя главная проблема в том, что функция IsInRole никогда не возвращает true. я знаю, что так и должно быть, я даже протестировал его с пользователями domainA \ Domain и все равно получил ложное возвращение.

Есть идеи? изменение кода возможно, но не требуется. я не на 100%, я могу даже скомпилировать его ...

Это было полезно?

Решение 2

Ну, чтобы решить проблему, мне просто нужно было добавить каждого пользователя группы вместо имени группы ...

У кого-нибудь еще есть идеи?

Другие советы

Я должен указать, действительно ли вы правильно экранировали свой символ '\' внутри своих строк? Как в & Quot; domainA \\ groupA & Quot;?

Я видел проблемы, когда люди пытались использовать списки электронной почты Outlook в Active Directory для обеспечения безопасности на основе ролей. Они отображаются в Active Directory и их трудно отличить от реальных групп безопасности (группы, на которые вы можете ссылаться в ACL и т. Д.). Попросите своего администратора проверить, какие группы вы используете, это группы безопасности.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top