Active Directory и PrincipalPermission

Это скорее любопытство, чем запрос о помощи, но я заметил, что при использовании PrincipalPermission и проверке пользователя как части определенной группы в Active Directory он не будет использовать истинное имя группы, а вместо этого проверяет соответствие группе, предшествующей Windows 2000 имя вместо Обычно это не имеет значения - если кто-то не делает эти значения другими.

Кто-нибудь может подумать, почему.Net API будет использовать это имя группы вместо "истинного" имени? Это вызвало у меня часы горя и немного слепой удачи, чтобы наконец понять все это.

1 ответ

Решение

Я бы предположил (не тестируя и не попробовав это сам), что атрибут PrincipalPermission будет использовать "sAMAccountName" в Active Directory для имен пользователей и групп (например, "Users" или "JohnDoe") вместо "различаемого имени" (DN) Вы можете ожидать ("CN=Users", "CN=John Doe").

Причиной этого, скорее всего, будет сценарий, когда вы работаете, например, на автономном сервере или домене NT4. В этих случаях у вас просто нет выделенных имен на основе AD- но у вас есть имена учетных записей SAM.

Так что в некотором смысле это может показаться на первый взгляд немного удивительным - но, на мой взгляд, имеет смысл использовать эти имена учетных записей SAM (имена до AD) - вы не согласны?

Марк

Причина - гарантированная безопасность. ВsamAccountNameАтрибут уникален для всех объектов участников безопасности в домене NTDS. Если бы вместо этого использовался другой атрибут имени, злоумышленник мог легко обойти разрешение безопасности, создав другого пользователя / группу с тем же именем в другом организационном подразделении или контейнере.

Другие вопросы по тегам