Работа с атрибутом разрешения - PullRequest
0 голосов
/ 21 июня 2011

Я, вероятно, просто неправильно понимаю концепцию, но все же я подумал, что должен спросить:

Я пытаюсь найти конкретные разрешения, необходимые для создания новой локальной группы пользователей в Win2008. Я прошел по пространству имен System.DirectoryServices.AccountManagement и объявил необходимые разрешения:

[SecurityPermissionAttribute(SecurityAction.Assert, Flags = SecurityPermissionFlag.UnmanagedCode)]
[DirectoryServicesPermissionAttribute(SecurityAction.InheritanceDemand, Unrestricted = true)]
[DirectoryServicesPermissionAttribute(SecurityAction.LinkDemand, Unrestricted = true)]

Я ожидал получить исключение, когда в одном из этих разрешений будет отказано (т. Е. При входе в метод). Вместо этого я все равно получаю UnauthorizedAccessException при вызове основного Save метода.

Что мне здесь не хватает? Я ищу ответ больше относительно использования атрибутов прав доступа, чем решения этой конкретной проблемы.

Спасибо.

1 Ответ

1 голос
/ 21 июня 2011

Здесь вы ссылаетесь на атрибуты безопасности, которые являются частью безопасности доступа к коду в .Net.Это не решит вашу проблему.

Вы получаете исключение неавторизованного доступа, потому что удостоверение вашего приложения (учетная запись пользователя, который выполняет процесс и / или в настоящее время олицетворяется) не имеет прав доступа для вызова.Метод сохранения, который пытается повлиять на домен.

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

Я уверен, что вы понимаете, что возможность изменять активный каталог считается привилегированной операцией.

...