Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизВвод пароля для основной программы Найти похожие ветки
← →
avgur (2004-04-20 13:52) [0]Нужна калифицированная помощь мастеров!!! Задача следующая: при загрузке программы должна загрузится Splah затем появится форма для ввода имени и пароля. Затем при правильном пароле закрывается форма пароля и загружается основная программа. Справочник имени и паролей хранится в dbf. Как сделать это пока не знаю :( раньше не приходилось. Может кто подскажет или скажет где почитать. Если не жалко, может поделитесь кодом.
← →
avgur (2004-04-20 13:52) [0]Нужна калифицированная помощь мастеров!!! Задача следующая: при загрузке программы должна загрузится Splah затем появится форма для ввода имени и пароля. Затем при правильном пароле закрывается форма пароля и загружается основная программа. Справочник имени и паролей хранится в dbf. Как сделать это пока не знаю :( раньше не приходилось. Может кто подскажет или скажет где почитать. Если не жалко, может поделитесь кодом.
← →
Курдль © (2004-04-20 13:55) [1]
> Справочник имени и паролей хранится в dbf.
Мож просто вывесить его на проходной?.. :)))
← →
Курдль © (2004-04-20 13:55) [1]
> Справочник имени и паролей хранится в dbf.
Мож просто вывесить его на проходной?.. :)))
← →
LM2 (2004-04-20 14:00) [2]Просто, делаешь вторую Splash форму, а в ней 2 Едита для ввода логина пароля
← →
LM2 (2004-04-20 14:00) [2]Просто, делаешь вторую Splash форму, а в ней 2 Едита для ввода логина пароля
← →
avgur (2004-04-20 14:01) [3]
> Мож просто вывесить его на проходной?.. :)))
это делается не для защиты данных, а для того, чтобы диспетчера входили и делали документы под своим именем. Что бы было потом с кого спросить почему так, а не иначе и не сварачивали друг на друга это делала не я.
← →
avgur (2004-04-20 14:01) [3]
> Мож просто вывесить его на проходной?.. :)))
это делается не для защиты данных, а для того, чтобы диспетчера входили и делали документы под своим именем. Что бы было потом с кого спросить почему так, а не иначе и не сварачивали друг на друга это делала не я.
← →
avgur (2004-04-20 14:05) [4]
> Курдль © (20.04.04 13:55) [1]
А в чем Вы предлагаете хранить данные имен и паролей?
и каким методом шифровать?? кроме Xor?
← →
avgur (2004-04-20 14:05) [4]
> Курдль © (20.04.04 13:55) [1]
А в чем Вы предлагаете хранить данные имен и паролей?
и каким методом шифровать?? кроме Xor?
← →
Reindeer Moss Eater © (2004-04-20 14:29) [5]Задача следующая: при загрузке программы должна загрузится Splah затем появится форма для ввода имени и пароля. Затем при правильном пароле закрывается форма пароля и загружается основная программа. Справочник имени и паролей хранится в dbf. Как сделать это пока не знаю
1. Форма ввода имени/пароля.
TForm - один штука
TEdit - две штуки
TLabel - две штуки
TBitBtn - две штуки
2. Имя и пароль в dbf
Читать/писать из таблиц надо полагать умеем?
Сравнивать прочитанное из TEdit и TField оператором IF тоже?
Закрывать главную форму приложения в одной из веток if сложно?
По моему нет.
← →
Reindeer Moss Eater © (2004-04-20 14:29) [5]Задача следующая: при загрузке программы должна загрузится Splah затем появится форма для ввода имени и пароля. Затем при правильном пароле закрывается форма пароля и загружается основная программа. Справочник имени и паролей хранится в dbf. Как сделать это пока не знаю
1. Форма ввода имени/пароля.
TForm - один штука
TEdit - две штуки
TLabel - две штуки
TBitBtn - две штуки
2. Имя и пароль в dbf
Читать/писать из таблиц надо полагать умеем?
Сравнивать прочитанное из TEdit и TField оператором IF тоже?
Закрывать главную форму приложения в одной из веток if сложно?
По моему нет.
← →
Курдль © (2004-04-20 15:50) [6]
> это делается не для защиты данных, а для того, чтобы диспетчера
> входили и делали документы под своим именем.
Ага! Так система многопользовательская? Ну так и флаг Вам в руки - возьмите простенькую и надежную (ни в коем случае не IB) СУБД - в ней все и так должно быть - и роли юзеров и пароли с логинами! Вам заботиться будет не о чем!
← →
Курдль © (2004-04-20 15:50) [6]
> это делается не для защиты данных, а для того, чтобы диспетчера
> входили и делали документы под своим именем.
Ага! Так система многопользовательская? Ну так и флаг Вам в руки - возьмите простенькую и надежную (ни в коем случае не IB) СУБД - в ней все и так должно быть - и роли юзеров и пароли с логинами! Вам заботиться будет не о чем!
← →
Danilka © (2004-04-20 16:04) [7]
> ни в коем случае не IB
почему?
← →
Danilka © (2004-04-20 16:04) [7]
> ни в коем случае не IB
почему?
← →
Курдль © (2004-04-20 16:06) [8]
> > ни в коем случае не IB
>
> почему?
Не люблю ее :)
← →
Курдль © (2004-04-20 16:06) [8]
> > ни в коем случае не IB
>
> почему?
Не люблю ее :)
← →
Fay © (2004-04-20 16:07) [9]Курдль любит Oracle, после которого IB - смерть с граблями 8)
← →
Fay © (2004-04-20 16:07) [9]Курдль любит Oracle, после которого IB - смерть с граблями 8)
← →
Курдль © (2004-04-20 16:20) [10]
> Курдль любит Oracle, после которого IB - смерть с граблями
> 8)
Ну, напр., если злой диспетчер 8-| захочет совершить информационную диверсию - он легко сможет спереть себе домой файл БД глубокоуважаемого avgur-а, запустить его на своей СУБД с паролем SYSDBA и логином MASTERKEY и напутать все диспетчерские секркты! Во!
← →
Курдль © (2004-04-20 16:20) [10]
> Курдль любит Oracle, после которого IB - смерть с граблями
> 8)
Ну, напр., если злой диспетчер 8-| захочет совершить информационную диверсию - он легко сможет спереть себе домой файл БД глубокоуважаемого avgur-а, запустить его на своей СУБД с паролем SYSDBA и логином MASTERKEY и напутать все диспетчерские секркты! Во!
← →
Fay © (2004-04-20 16:24) [11]>> он легко сможет спереть себе домой файл БД
А доступ у него есть?
← →
Fay © (2004-04-20 16:24) [11]>> он легко сможет спереть себе домой файл БД
А доступ у него есть?
← →
Курдль © (2004-04-20 16:46) [12]
> А доступ у него есть?
Доступ к чему? К компу? Всего-то делов - переписать себе файл ".gdb", надругаться над ним и вернуть назад.
← →
Курдль © (2004-04-20 16:46) [12]
> А доступ у него есть?
Доступ к чему? К компу? Всего-то делов - переписать себе файл ".gdb", надругаться над ним и вернуть назад.
← →
Fay © (2004-04-20 16:50) [13]Переписать откуда? Себе - это куда?
← →
Fay © (2004-04-20 16:50) [13]Переписать откуда? Себе - это куда?
← →
avgur (2004-04-20 17:38) [14]Переписать не смогут, да и не зачем...
А вот как сделать толком так и никто не сказал...
И если база Paradox, то сразу перейти на IB, Oracle или MySQL не получится, а вот помочь бы с проблемкой стало быть никто не может или не хочет.... :(
← →
avgur (2004-04-20 17:38) [14]Переписать не смогут, да и не зачем...
А вот как сделать толком так и никто не сказал...
И если база Paradox, то сразу перейти на IB, Oracle или MySQL не получится, а вот помочь бы с проблемкой стало быть никто не может или не хочет.... :(
← →
ЮрийК © (2004-04-20 18:23) [15]Три формы:
Основная программы - условно FormMain
Splash форма - FormSplash
форма для ввода паролей - FormParols
В файле проекта DPR:
begin
Application.Initialize;
Application.CreateForm(TFormMain, FormMain);
Application.CreateForm(TFormParols, FormParols);
Application.ShowMainForm := False;
Application.CreateForm(TFormSplash, FormSplash);
Sleep(3000);
FormSplash.Free;
Application.Run;
end.
В основном модуле:
procedure TFormMain.DoAtStart(Sender: TObject; var Done: Boolean);
begin
Application.OnIdle := nil;
Visible := False;
FormParols.ShowModal;
if ({Сверяем пароли}) then begin
...
end
else begin
...
end;
Visible := True;
ShowWindow(Application.Handle, SW_SHOW);
end;
procedure TFormMain.FormCreate(Sender: TObject);
begin
Application.OnIdle := DoAtStart;
end;
← →
ЮрийК © (2004-04-20 18:23) [15]Три формы:
Основная программы - условно FormMain
Splash форма - FormSplash
форма для ввода паролей - FormParols
В файле проекта DPR:
begin
Application.Initialize;
Application.CreateForm(TFormMain, FormMain);
Application.CreateForm(TFormParols, FormParols);
Application.ShowMainForm := False;
Application.CreateForm(TFormSplash, FormSplash);
Sleep(3000);
FormSplash.Free;
Application.Run;
end.
В основном модуле:
procedure TFormMain.DoAtStart(Sender: TObject; var Done: Boolean);
begin
Application.OnIdle := nil;
Visible := False;
FormParols.ShowModal;
if ({Сверяем пароли}) then begin
...
end
else begin
...
end;
Visible := True;
ShowWindow(Application.Handle, SW_SHOW);
end;
procedure TFormMain.FormCreate(Sender: TObject);
begin
Application.OnIdle := DoAtStart;
end;
← →
ЮрийК © (2004-04-20 18:28) [16]Добавочно:
У FormSplash свойство Visible должно быть установлено изначально в True в ObjectInspector-е.
← →
ЮрийК © (2004-04-20 18:28) [16]Добавочно:
У FormSplash свойство Visible должно быть установлено изначально в True в ObjectInspector-е.
← →
Danilka © (2004-04-21 13:10) [17][10] Курдль © (20.04.04 16:20)
> Ну, напр., если злой диспетчер 8-| захочет совершить информационную
> диверсию
На самом деле, если ты имеешь доступ к физ. файлам БД практически любой СУБД, хоть МС-Скуля, хоть Орокла, то такую "диверсию" тоже сможешь совершить.
Так что ИБ здесь совершенно не причем, а причем только кривые руки админа сети, который всяким диспетчерам дает доступ туда, куда не следует. Вот его и не люби. :))
← →
Danilka © (2004-04-21 13:10) [17][10] Курдль © (20.04.04 16:20)
> Ну, напр., если злой диспетчер 8-| захочет совершить информационную
> диверсию
На самом деле, если ты имеешь доступ к физ. файлам БД практически любой СУБД, хоть МС-Скуля, хоть Орокла, то такую "диверсию" тоже сможешь совершить.
Так что ИБ здесь совершенно не причем, а причем только кривые руки админа сети, который всяким диспетчерам дает доступ туда, куда не следует. Вот его и не люби. :))
← →
-SeM- (2004-04-21 13:25) [18]А роль "SYSDBA" не пробывали создать? Попробуйте, поможет. Потом только физическое чтение страниц.
← →
-SeM- (2004-04-21 13:25) [18]А роль "SYSDBA" не пробывали создать? Попробуйте, поможет. Потом только физическое чтение страниц.
← →
Курдль © (2004-04-21 14:26) [19]
> На самом деле, если ты имеешь доступ к физ. файлам БД практически
> любой СУБД, хоть МС-Скуля, хоть Орокла, то такую "диверсию"
> тоже сможешь совершить.
В Оракле можно только навредить вплоть до полного краха базы.
Отыскать пароль - упыхаешься (особенно, если ты диспетчер) :)
У нас однажды стояла задача автоматизации простенького но денежного процесса. И надо было предотвратить всякую возможность незаметно "подхимичить" в отчетах. Тогда-то IB была напрочь отметена.
← →
Курдль © (2004-04-21 14:26) [19]
> На самом деле, если ты имеешь доступ к физ. файлам БД практически
> любой СУБД, хоть МС-Скуля, хоть Орокла, то такую "диверсию"
> тоже сможешь совершить.
В Оракле можно только навредить вплоть до полного краха базы.
Отыскать пароль - упыхаешься (особенно, если ты диспетчер) :)
У нас однажды стояла задача автоматизации простенького но денежного процесса. И надо было предотвратить всякую возможность незаметно "подхимичить" в отчетах. Тогда-то IB была напрочь отметена.
← →
Danilka © (2004-04-21 15:01) [20][19] Курдль © (21.04.04 14:26)
> В Оракле можно только навредить вплоть до полного краха
> базы.
На sql.ru обсуждали методику, где-то в под новый год. Детали не помню, но можешь там спросить или поискать. Так что, и Орокол не спасет.
А на счет "подхимичить", можно шифровать данные по паролю юзера, например.
Есть, кстати даже СУБД, которая умеет так сама шифровать таблицы. Правда, не помню как называецца, что-то на А :))
← →
Danilka © (2004-04-21 15:01) [20][19] Курдль © (21.04.04 14:26)
> В Оракле можно только навредить вплоть до полного краха
> базы.
На sql.ru обсуждали методику, где-то в под новый год. Детали не помню, но можешь там спросить или поискать. Так что, и Орокол не спасет.
А на счет "подхимичить", можно шифровать данные по паролю юзера, например.
Есть, кстати даже СУБД, которая умеет так сама шифровать таблицы. Правда, не помню как называецца, что-то на А :))
← →
Курдль © (2004-04-21 15:19) [21]
> На sql.ru обсуждали методику, где-то в под новый год. Детали
> не помню, но можешь там спросить или поискать.
Что-то сильно сомневаюсь.
> Есть, кстати даже СУБД, которая умеет так сама шифровать
> таблицы. Правда, не помню как называецца, что-то на А
Шифровать таблицы - задача для школьника.
Ладно, наведу автора на мысль.
Как говорят в армии - "по разделениям".
1. "Справочник имен и паролей", как называл его автор, должен содержать и вправду имена и пароли. Я бы назвал это таблицей.
2. И еще нехило бы, чтобы он ссылался на таблицу людишек по ее ID.
3. Естесснно, должны быть оформлены надлежащим образом все идентификаторы, индексы и внешние ключи.
4. При возникновении острой необходимости поработать, диспетчер вызывает модальное окно логина. Вводит свое имя и пароль.
5. По нажатии "Ок" происходит запрос к СУБД, в котором условием будет where LOGIN = :LOGIN and PASSWORD = :PASSWORD
6. Если запрос вернулся голимым порожняком - диспетчер получает отлуп. В противном случае - получает достУп.
7. Если диспетчер правильный, то в дальнейшем, вплоть до разрыва с БД, его ID приписывается всем записям в "критических" таблицах.
ЗЫ. Для автора. Могу поделиться кодом или выполнить всю работу. Цена - договорная. Дорого.
← →
Курдль © (2004-04-21 15:19) [21]
> На sql.ru обсуждали методику, где-то в под новый год. Детали
> не помню, но можешь там спросить или поискать.
Что-то сильно сомневаюсь.
> Есть, кстати даже СУБД, которая умеет так сама шифровать
> таблицы. Правда, не помню как называецца, что-то на А
Шифровать таблицы - задача для школьника.
Ладно, наведу автора на мысль.
Как говорят в армии - "по разделениям".
1. "Справочник имен и паролей", как называл его автор, должен содержать и вправду имена и пароли. Я бы назвал это таблицей.
2. И еще нехило бы, чтобы он ссылался на таблицу людишек по ее ID.
3. Естесснно, должны быть оформлены надлежащим образом все идентификаторы, индексы и внешние ключи.
4. При возникновении острой необходимости поработать, диспетчер вызывает модальное окно логина. Вводит свое имя и пароль.
5. По нажатии "Ок" происходит запрос к СУБД, в котором условием будет where LOGIN = :LOGIN and PASSWORD = :PASSWORD
6. Если запрос вернулся голимым порожняком - диспетчер получает отлуп. В противном случае - получает достУп.
7. Если диспетчер правильный, то в дальнейшем, вплоть до разрыва с БД, его ID приписывается всем записям в "критических" таблицах.
ЗЫ. Для автора. Могу поделиться кодом или выполнить всю работу. Цена - договорная. Дорого.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.57 MB
Время: 0.035 c