Bug 1448

Summary: Позволяет пытаться совершать административные действия
Product: SELTA@Etersoft Reporter: Vitaly Lipatov <lav>
Component: Графическая утилита SeltaAssignee: Глушков Пётр <pglushkov>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P5 CC: andrey
Version: 1.0.2   
Target Milestone: версия 1.0.2   
Hardware: PC   
OS: Linux   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 1316    

Description Vitaly Lipatov 2008-03-21 16:46:03 MSK
Если диск C: недоступен для записи, при переключении режима
"Запущена SELTA/Остановлена" выдаются разные ошибки.
В идеале желательно вообще сделать чтобы кнопка была заблокирована в этом случае.
Он возникает например при запуске граф. утилиты под одним из пользователей в административной установке.
Comment 1 Глушков Пётр 2008-03-21 18:08:45 MSK
"Он возникает например при запуске граф. утилиты под одним из пользователей в административной установке." Он это кто? )) Я так понимаю проблемма пока только в том, что если пользователь не админ - надо кнопку заблочить?
Comment 2 Vitaly Lipatov 2008-03-21 20:02:42 MSK
Он - это ошибка :)
Вопрос в том, как проверить, пользователь админ или нет.
Как минимум это можно определить по возможности записи в windows/system32
Вообще не админ не должен иметь права записи в системную часть реестра (ошибка при  открытии ветки реестра на запись), но не уверен что у нас это правильно отработает. Можно сделать для Windows, проверить у нас и повесить багу.
Comment 3 Глушков Пётр 2008-04-05 18:39:38 MSD
Работа с графической утилитой Selta изначально подразумевает, что пользователь - администратор. Все великое множество MessageBox'ов с разнообразными ошибками сделано скорее как подсказка админу, что в системе что-то СОВСЕМ не в порядке. В противном случае никаких ошибок быть не должно, ибо ничего сверх хитроумного не выполняется. Сплошные стандартные функции доступа, чтения, записи...
Считаю целесообразным в таком случае сделать следующее: провести при запуске графической утилиты ряд простых тестов, на подобии попытки записи в нужные ветки реестра, системные папки и т.д., и если что-то не так - выдавать сообщение, что для корректной работы не хватает таких-то прав, свернуть программу и "адиос", чтобы не админ вообще ничего сломать не мог.

Что решаем в итоге?
Comment 4 Vitaly Lipatov 2008-04-05 19:14:09 MSD
Я думаю нужно проверять, имеем мы админские права или нет, и если не имеем,
не давать ничего делать, вплоть до блокирования кнопок. В этом случае
Selta.exe может быть использована только для проверки подлинности.
Пункты меню и кнопки заблокировать достаточно просто. Зачем создавать видимость, что пользователь что-то может, хотя на само мделе не может, и выдавать косвенные сообщения об ошибках...
Comment 5 Глушков Пётр 2008-04-12 21:55:49 MSD
Сделана проверка на администратора на основании вызовов функций работы с реестровой веткой HKEY_LOCAL_MACHINE. В Винде работает корректно. В Вайне это пока не реализовано.