Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADO, Access и защищённая БД / 18 сообщений из 18, страница 1 из 1
09.11.2003, 19:41
    #32318434
Kraks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
Сделал БД в Access 2000, написал приложение на Delphi 6 с использованием ADO. Всё просто супер. Осталось только базочку закрыть... Вот тут-то и возникла проблема. Если закрыть базу паролем с помощью монопольного доступа, то при вводе этого пароля для логина '' и 'Admin' в LoginPromt вываливается ошибка "Неверный пароль". На Мастерах Делфи посоветовали указать в строке подключения 'System database=<имя системной базы.mdw>'. Как выяснилось, путь к этой системной базе лежит в реестре в 'HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Access\Jet\4.0\Engines' в параметре 'SystemDB'. Но когда я в TADOConnection к ConnectionString добавляю '; System database=<имя системной базы.mdw>', LoginPromt опять ругается, правда уже по-другому: "Невозможно найти устанавливаемый ISAM." В чём дело? Как решить эту проблему? Базочку желательно всё-таки закрыть, а не получается... Подскажите, кто знает, плз!
...
Рейтинг: 0 / 0
10.11.2003, 03:56
    #32318480
Miktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
В мастере подключения на последней закладке "Все", в строке "Jet OLEDB:Database Password" укажи свой пароль и все тип-топ ;)) правда этот пароль модно поломать, лучше использовать рабочие группы :)).
Miktor
...
Рейтинг: 0 / 0
11.11.2003, 00:27
    #32319427
Kraks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
Какой нафиг тип-топ. )) Мне надо узера спросить пароль... А подключаюсь я с помощью .udl файла. Придётся на OnWillConnect ловить строку соединения и там прописывать запрошенный пароль... Всё равно спасибо! ))
...
Рейтинг: 0 / 0
11.11.2003, 00:37
    #32319435
Kraks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
Хотя нет... На OnWillConnect и BeforeConnect в ConnectionString всё ещё ссылка на файл. На OnLogin я уже описывал что происходит. И ConnectionString там такая же. Единственное, что приходит в голову, так это спрашивать пользователя, писать в файл .udl пароль, коннектиться, а потом пароль затирать. Но как-то это всё... Может кто что по-лучше посоветует?
...
Рейтинг: 0 / 0
11.11.2003, 01:49
    #32319459
Miktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
Понятно. UDL - этопросто тот же текстовый файл со строкой соединения. Просто заведи файл настройки, где будешь хранить имя MDB файла и пр. настройки (если они нужны), а строку составляй динамически, после запроса пользователем пароля. Что-то типа:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
ADOConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'User ID=Admin;'+
'Data Source='+ИмяТвоейБазыДанныхИзФайлаНастройки+';'+
'Mode=Share Deny None;'+
'Extended Properties="";'+
'Jet OLEDB:System database="";'+
'Jet OLEDB:Registry Path="";'+
'Jet OLEDB:Database Password='+ПарольВведенныйПользователем+';'+
'Jet OLEDB:Engine Type=5;'+
'Jet OLEDB:Database Locking Mode=1;'+
'Jet OLEDB:Global Partial Bulk Ops=2;'+
'Jet OLEDB:Global Bulk Transactions=1;'+
'Jet OLEDB:New Database Password="";'+
'Jet OLEDB:Create System Database=False;'+
'Jet OLEDB:Encrypt Database=False;'+
'Jet OLEDB:Don'+''''+'t Copy Locale on Compact=False;'+
'Jet OLEDB:Compact Without Replica Repair=False;'+
'Jet OLEDB:SFP=False'

потом:
Код: plaintext
1.
2.
3.
4.
try
  ADoConnection.Connected:=True;
except
  Ёма Ё! Не тот пароль!
end;

Miktor
...
Рейтинг: 0 / 0
12.11.2003, 23:11
    #32322245
Kraks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
Спасибо. Я до этого уже сам дошёл... Только теперь получаю ошибку "Ошибочный пароль". Для верности заменил свою строку твоей (хотя они вроде почти совпадали). Не помогает. Всё равно ошибочный пароль... Что делать-то?
...
Рейтинг: 0 / 0
13.11.2003, 09:10
    #32322381
realbold
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
Может в кодировках приколы
...
Рейтинг: 0 / 0
13.11.2003, 09:22
    #32322409
denche
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
есть еще вариант
создаешь одного юзера с одним паролем, прописываешь его в коде
потом в базе создаешь табличку в которую заносишь имя юзерей и их пароли

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

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

при этом ты получаешь возможность быстро добавить, удалить, отредактировать нужного юзера
...
Рейтинг: 0 / 0
13.11.2003, 09:30
    #32322425
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
Защищенная паролями всякими база на Access 2000 легко открывается с пустыми юзверем и паролем (на другом компе, с чистой system.mdw).
Вот, пожалуйста, коннект к защищенной базе:

Provider=Microsoft.Jet.OLEDB.4.0;
User ID=Admin;
Data Source=<удалено мной>;
Mode=Share Deny None;
Extended Properties="";
Jet OLEDB:System database="";
Jet OLEDB:Registry Path="";
Jet OLEDB:Database Password="";
Jet OLEDB:Engine Type=5;
Jet OLEDB:Database Locking Mode=1;
Jet OLEDB:Global Partial Bulk Ops=2;
Jet OLEDB:Global Bulk Transactions=1;
Jet OLEDB:New Database Password="";
Jet OLEDB:Create System Database=False;
Jet OLEDB:Encrypt Database=False;
Jet OLEDB:Don't Copy Locale on Compact=False;
Jet OLEDB:Compact Without Replica Repair=False;
Jet OLEDB:SFP=False



eNose
...
Рейтинг: 0 / 0
13.11.2003, 09:32
    #32322430
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
Это не просто так я написал, а мне прислали защищенный .mdb , чтоб я сделал конвертатор в его формат и данные туда пихал.

То, что он якобы защищенный - работает только из-под акцесса.



eNose
...
Рейтинг: 0 / 0
13.11.2003, 09:48
    #32322448
SiDen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
To eNose
Вы путаете. Есть защита юзверем и пассом, а есть просто защита бд пассом.
Эти две вещи не исключающие друг друга, если пользовательская снимается подсовыванием мдв-шки другой или пустой, то пасс на бд этим не снимается имхо.
...
Рейтинг: 0 / 0
13.11.2003, 09:51
    #32322454
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
Мыльните мне кто-нить защищенную базу - для проверки.

ivanoff dot kti dot ru




eNose
...
Рейтинг: 0 / 0
13.11.2003, 10:11
    #32322471
SiDen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
Ушло
...
Рейтинг: 0 / 0
13.11.2003, 10:22
    #32322492
SiDen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
База сделана с другой мдв, без юзверя админ, криптована средствами аксеса и защищена пассом.
...
Рейтинг: 0 / 0
13.11.2003, 11:07
    #32322590
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
не выходит каменный цветок.

Однако так не честно.
Я ведь не знаю ни одного юзверя!!!

А ведь в реальном приложении хотя бы один да будет известен.



eNose
...
Рейтинг: 0 / 0
13.11.2003, 11:24
    #32322615
SiDen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
1. не факт что будет
они могут не иметь доступ напрямую в БД... юзверь зашит в код и закриптован там как-нить.
2. даже есть в мдв создать юзверя, то пасса на бд не узнать
3. при создании юзверя там тоже код вводится, так что юзвери с одинаковыми именами не будут одинаковыми с точкии зрения jet
а юзверь SunCalls
...
Рейтинг: 0 / 0
15.11.2003, 10:41
    #32325334
Kraks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
Народ! Ну это всё, конечно, интересно. Правда, описано в родном аксессовском хелпе... А с паролем-то что делать? Я хочу именно безузерный пароль, чтобы фокус с перетаскиванием не работал! Мне база-то для рассылки нужна! Никто ничего не посоветует ещё? А с кодировками что? Как проверить?
...
Рейтинг: 0 / 0
17.11.2003, 21:30
    #32326824
Kraks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO, Access и защищённая БД
Ну никто не знает что ли? Подскажите пожалуйста! А заодно ещё вопрос: а чтобы программно сменить пароль надо New Database Password использовать в ConnectionString-е, да?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADO, Access и защищённая БД / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]