49306956



Создать ответ 
 
Рейтинг темы:
  • Голосов: 0 - Средняя оценка: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Работа с UAC (User Account Control)
Автор Сообщение
clk824 Не на форуме
Админ
*******

Сообщений: 566
Зарегистрирован: 01.2010
Сообщение: #1
Работа с UAC (User Account Control)
Цитата:По сути, UAC это все об уровнях привилегий. По умолчанию, обычное Windows приложение не требует администраторских привилегий. Вот почему под Vista, даже административные аккаунты, не используют полный доступ по умолчанию. Цель нормального UAC-приложения – запуск с доступом определяемым текущим аккаунтом, и лишь при реальной необходимости запрашивать повышенные права доступа. Сам процесс запроса повышения прав называется повышение привилегий (privilege elevation), и он требует, что бы пользователь подтвердил действие, перед тем, как это действие будет выполнено. Запрос на повышение может быть представлен либо в форме простого диалога Продолжить/Отменить (режим одобрения Админом), либо полноценного диалога логина (пользователи должны явным образом ввести свои полномочия), в зависимости от типа текущего аккаунта и настроек безопасности. Существует еще пара вариаций запроса в зависимости от того используется ли исполняемым файлом цифровая подпись или нет.
Оригинал

Как правильно задавать вопросы
(Последний раз сообщение было отредактировано 18.09.2010 в 13:20, отредактировал пользователь clk824.)
18.09.2010 13:19
Вебсайт Найти все сообщения Цитировать это сообщение
all__ Не на форуме
Админ
*******

Сообщений: 730
Зарегистрирован: 01.2010
Сообщение: #2
RE: Работа с UAC (User Account Control)
А как это на дельфи?
Мне нужно, чтобы при определенных событиях приложение просило админские права.
18.09.2010 13:39
Вебсайт Найти все сообщения Цитировать это сообщение
clk824 Не на форуме
Админ
*******

Сообщений: 566
Зарегистрирован: 01.2010
Сообщение: #3
RE: Работа с UAC (User Account Control)
Пример программы с исходниками

Короче говоря создаётся манифест:
Цитата:<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="*"
name="UAC_Elevation_Prompt"
type="win32"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"/>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="*"/>
</dependentAssembly>
</dependency>
</assembly>

Ключевой момент <requestedExecutionLevel level="requireAdministrator"/>

Как правильно задавать вопросы
18.09.2010 13:46
Вебсайт Найти все сообщения Цитировать это сообщение
Создать ответ