2008-11-17 1 views
2

У меня есть приложение .NET, распространяемое через ClickOnce. Безопасность в приложении реализована с помощью метода WindowsPrincipal.IsInRole(GroupName) с использованием набора групп в качестве ресурсов. Эта структура хорошо работает для пользователей в том же домене, что и группы. К сожалению, теперь у нас есть пользователи, которым необходимо использовать приложение, работающее на машинах, и использование учетных записей пользователей в другом домене, которому доверяет наш домен, но не в том же лесу.Не удается получить приложение .NET для доступа к группам AD по доменам

Кажется, что IsInRole() запрашивает билет AD на локальной машине для членства в группе. К сожалению, этот билет содержит только локальные группы домена для домена машины, а также глобальные и универсальные группы других доверенных доменов, наши группы - это локально-локальные группы в первом домене. Ситуация с уловом-22 исходит из того факта, что AD не разрешает руководителям внешней безопасности ни глобальные, ни универсальные группы, и поэтому, когда они могут быть запрошены пользователями во втором домене, они не могут быть его членами (что делает его немного бессмысленным!)

Для объяснения: Существует два домена: DOM1 и DOM2 с настройкой доверия между ними, но они не находятся в том же лесу.

DOM1\User1 
DOM2\User2 

- это два пользователя.

Я хотел бы поставить оба User1 и User2 в одной группе, которая видна обоим пользователям и может содержать их обоих.

Единственный способ, которым я могу себе видеть вокруг него следующие (где {} обозначает члены групп, DL = локальный домен и GLO = GlobalGroup.)

сделать две глобальные группы по одному в каждом домене:

DOM1\GLOGroup1 : {DOM1\User1} 
DOM2\GLOGroup1 : {DOM2\User2} 

и две группы домена локального, содержащие две глобальные группы:

DOM1\DLGroup1 : {DOM1\GLOGroup1, DOM2\GLOGroup1} 
DOM2\DLGroup1 : {DOM1\GLOGroup1, DOM2\GLOGroup1} 

Но это не совсем приемлемо, поскольку мы на самом деле имеют более двух доменам d около 70 групп для администрирования, включая иерархию групп, и мы не имеем большого прямого контроля над введением групп в других доменах.

Мы еще не работали над каким-либо пониманием подхода, использующего LDAP, но из небольшого числа, которое я прочитал, я считаю, что это обычно не рекомендуется для этой цели?

ответ

0

shouldnt это универсальная группа, позволяющая пользователям из нескольких доверенных доменов?

Учетная запись пользователя, с которой вы проверяете AD, также должна быть в состоянии прочитать каждую группу объявлений ou.

Mauro

+0

Спасибо Mauro, Да, мы также пробовали универсальные группы, но они не могут содержать руководителей внешней безопасности, что означает, что пользователи DOM2 не могут быть в группе. – user38292 2008-11-17 17:28:38

0

Документация состояние (для перегрузки строки):

Роль могут быть определены только для Области текущего долга.

Но он не указывает, что для перегрузки SecurityIdentifier. Так что, вероятно, он будет работать (не проверял его). Вы можете получить sid с помощью wmi. Примеры не найдены.

+0

Cheers. Перегрузка SecurityIdentifier, похоже, страдает от той же проблемы. – user38292 2008-11-19 16:21:51

+0

Извините, что слышу это. – 2008-11-19 22:05:02

1

вы можете попробовать использовать LDAP, но вам нужно знать, какой сервер LDAP запрашивать; см. this answer для примера кода

Смежные вопросы