Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Вопрос по организации доступа к файлам (http://forum.oszone.net/showthread.php?t=221894)

smir-pavel 30-11-2011 22:17 1806843

Вопрос по организации доступа к файлам
 
Здравствуйте. Пожалуйста дайте совет по организации доступа к файлам программы.
Ситуация, в которой возникла проблема состоит в следующем:
На локальном компьютере(Window7) есть приложение(VisualBasic6), база данных(MS Access), с которой оно работает, и некоторые другие файлы, нужные для приложения.
Задача состоит в том, чтобы разграничить доступ к этому программному комплексу для "пользователей" и "администраторов". Пользователи не должны видеть внутренних файлов, не должны иметь возможность открыть базу данных независимо от программы средствами MS Access. Работа пользователей должна происходить только через интерфейс программы. Администраторы должны иметь полный доступ. Хотелось бы решить эту задачу, используя средства Windows по ограничению прав доступа к файлам и папкам.
Проблема в том, что самой программе нужны права администратора для работы(использование библиотек ADO, доступ к реестру и т.д.)
Вопрос: как организовать запуск программы с правами администратора обычными пользователями. При этом, конечно, раздавать пользователям данные учетной записи администратора не хотелось бы, и заставлять вводить эти данные в диалоги "запуск от имени администратора" тоже.
Помогите, может кто-то уже сталкивался с подобной задачей. Возможно у нее есть и какое-то другое решение.

P.S. Не судите строго, если разместил этот вопрос не в той категории.

Iska 30-11-2011 23:22 1806893

smir-pavel, вообще-то эти задачи решаться должны средствами и на уровне базы данных (пользователи, разграничение полномочий, шифрование), а не ОС.

smir-pavel 01-12-2011 18:57 1807442

Вложений: 1
Цитата:

Цитата Iska
smir-pavel, вообще-то эти задачи решаться должны средствами и на уровне базы данных (пользователи, разграничение полномочий, шифрование), а не ОС. »

Это все хорошо, но как всегда есть одно "но" - не работает.
Я использую ADO-компоненты (Microsoft ADO Data Control 6.0 и Microsoft DataGrid Control 6.0). При использовании просто библиотек, все аналогично.
вот простенький код, который работает с базой db1.mdb
Код:

Private Sub Form_Load()
        With Adodc1
            .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\db1.mdb"
            .CommandType = adCmdText
            '.UserName = "user"
            '.Password = "12345"
           
            .RecordSource = "SELECT Table1.x FROM Table1"
            .Refresh
        End With
        Set DataGrid1.DataSource = Adodc1.Recordset
End Sub

Если попытаться настроить защиту базы данных и раскомментировать соответствующие строчки, то начинаются проблемы...
Пробовал способы
1. Access/меню Сервис/Защита/Задать пароль базы данных
2. Access/меню Сервис/Защита/Пользователи и группы

Из-за неудачных попыток решил попробовать решить проблему через возможности ОС. Вообще говоря, я уже почти добился нужного функционала, за исключением запуска от имени администратора(см. заглавный пост)
Если интересно, во вложении тестовый проект с кодом приведенным выше и базой db1.mdb. Может у вас получиться достучаться до защищенной базы.

Delirium 02-12-2011 00:43 1807677

Цитата:

Цитата smir-pavel
самой программе нужны права администратора для работы(использование библиотек ADO, доступ к реестру и т.д.) »

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


Время: 22:22.

Время: 22:22.
© OSzone.net 2001-