Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Эта документация предназначена для разработчиков .NET Framework, которые хотят использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в разделе API автоматизации Windows: автоматизация пользовательского интерфейса.
В этом обзоре описана модель безопасности для службы автоматизации пользовательского интерфейса Майкрософт в Windows Vista.
Контроль учетных записей пользователей
Безопасность является главным приоритетом Windows Vista, и среди инноваций — возможность для пользователей работать как стандартные (неадминистраторские) пользователи, без необходимости блокировки работы приложений и служб, требующих более высоких привилегий.
В Windows Vista большинство приложений предоставляются либо стандартным, либо административным токеном. Если приложение не может быть идентифицировано как административное приложение, оно запускается как стандартное приложение по умолчанию. Перед запуском приложения, определяемого как административное, Windows Vista предложит пользователю предоставить согласие на запуск приложения с повышенными правами. Запрос согласия отображается по умолчанию, даже если пользователь является членом локальной группы администраторов, потому что администраторы работают как стандартные пользователи до тех пор, пока приложение или системный компонент не запросит разрешение на запуск, требующий учетных данных администратора.
Задачи, требующие более высоких привилегий
Когда пользователь пытается выполнить задачу, требующую прав администратора, Windows Vista представляет диалоговое окно с запросом пользователя на продолжение. Это диалоговое окно защищается от межпроцессного взаимодействия, поэтому вредоносное программное обеспечение не может имитировать входные данные пользователей. Аналогичным образом экран входа в систему на рабочем столе обычно не может быть доступен для других процессов.
Клиенты автоматизации пользовательского интерфейса должны взаимодействовать с другими процессами, некоторые из них, возможно, работают на более высоком уровне привилегий. Клиентам также может потребоваться доступ к диалоговым окнам системы, которые обычно не видны другим процессам. Таким образом, система должна доверять клиентам автоматизации пользовательского интерфейса, и они должны выполняться с особыми привилегиями.
Чтобы быть доверенным для взаимодействия с приложениями, работающими на более высоком уровне привилегий, приложения должны быть подписаны.
Файлы манифеста
Чтобы получить доступ к защищенному системном пользовательскому интерфейсу, приложения должны создаваться с помощью файла манифеста, который включает uiAccess
атрибут в requestedExecutionLevel
тег, как показано ниже.
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="highestAvailable"
uiAccess="true" />
</requestedPrivileges>
</security>
</trustInfo>
Значение атрибута level
в этом коде является только примером.
uiAccess
значение false по умолчанию; То есть, если атрибут опущен или отсутствует манифест сборки, приложение не сможет получить доступ к защищенному пользовательскому интерфейсу.