Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.038 c
1-1082709046
RAIN
2004-04-23 12:30
2004.05.09
Зарегестрировать определенные клавиши


11-1066059582
Eugene_29
2003-10-13 19:39
2004.05.09
Как переделать VCL-проект в KOL?


1-1082638763
han
2004-04-22 16:59
2004.05.09
Найти все окна в приложении


1-1082533985
Andrew2
2004-04-21 11:53
2004.05.09
Дата файла с ms


7-1079816431
DEMON_XXX
2004-03-21 00:00
2004.05.09
Как отследить дискету в A:





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский