Вверх ↑
Этот топик читают: Гость
Ответов: 409
Рейтинг: 17
#1: 2009-05-08 22:36:33 ЛС | профиль | цитата
Вот стою перед дилеммой, как решить вопрос аунтификации?
Мне нужно чтобы при запуске программы появлялась форма с полями логина и пароля. Пользователей будет много, и в зависимости от пользователя менялась одна из глобальных переменных в программе.
Хранить пароли в базе данных, мне не подходит т.к. мне нужно чтобы программа запускалась и при отсутствии связи с БД.
Наверно необходимо хранить пароли в текстовом файле, а для безопасности шифровать их Hashsum? но... непонятно как сделать чтобы при вводе логина и пароля, происходил перебор имеющихся в файле паролей и при совпадении запускалось основное окно программы.

И за одно задам еще вопрос. В программе есть меню Config как в примере dbMySQL, так вот там есть поле Password, эта переменная хранится в файле setup.ini. Можно как-то сделать чтобы эта переменная была зашифрована и недоступна для простого просмотра?
карма: 0

0
Ответов: 108
Рейтинг: 14
#2: 2009-05-08 22:59:21 ЛС | профиль | цитата
делаешь чтение зашифрованных паролей их файла,далее перебор всех элементов масива с последующей дешифрацией по твоей схеме и сравнение.А чем компонент shareware не устроил?
------------ Дoбавленo в 23.00:
я могу схему сделать тебе,если надо.напиши тока подробно что и как должно происходить
карма: 0

0
Ответов: 4641
Рейтинг: 334
#3: 2009-05-08 23:01:12 ЛС | профиль | цитата
Pirr, вот тебе для начала. (хеши в схеме - pirr и промолчу... )
code_13195.txt

Остальное сам додумаешь наверно.
Про дочерни формы есть примеры в вики, если что.
Да и про хеш сумму тоже.
Как загрузить текстовый файл в мемо, тоже не проблемма наверно. (doLoad и FileName)
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_13195.txt [772B] [137]
Ответов: 108
Рейтинг: 14
#4: 2009-05-08 23:04:46 ЛС | профиль | цитата
по поводу второго вопроса - конечно можно,просто перед установкой значения переменной,шифруй текст, а при использовании дешифруй. надо добавить всего 1 элемент,если ты хэшом собираешься шифровать
карма: 0

0
Ответов: 4641
Рейтинг: 334
#5: 2009-05-08 23:09:14 ЛС | профиль | цитата
Друзья-товарищи, напоминаю ЧТО ХешСумма Это одностороннее "шифрование". Вввел слово - получил бяку! А Из бяки, можно получить обратно только бяку.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#6: 2009-05-08 23:12:37 ЛС | профиль | цитата
Ravilr писал(а):
Вввел слово - получил бяку! А Из бяки, можно получить обратно только бяку

, но бяка получается из одного и того же слова всегда одинаковая
карма: 22

0
Ответов: 4641
Рейтинг: 334
#7: 2009-05-08 23:13:50 ЛС | профиль | цитата
nesco писал(а):
но бяка получается из одного и того же слова всегда одинаковая

nesco, это факт. !!!
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 171
Рейтинг: 19
#8: 2009-05-09 03:43:57 ЛС | профиль | цитата
Аутентификация дело тонкое, тут надо продумать все наперед. Во первых аутентификации предшедствует регистрация. Сперва нужно определить каким образом будешь добавлять пользователей в систему, если
Pirr писал(а):
Пользователей будет много

то вручную добавлять получится довольно хлопотно, ну сотня еще ничего , а если тысячи. Может стоит подумать чтобы пользователи сами регистрировались.
Во вторых
Pirr писал(а):
чтобы при вводе логина и пароля, происходил перебор имеющихся в файле паролей

обычно проверяется связка логин-пароль, иначе получится что зная пароль можно зайти под любым логином или без него вообще. Нужно привязать логин к конкретному паролю.
Конечно хранить пароли в файле это наихудший вариант который может быть.
Pirr писал(а):
мне нужно чтобы программа запускалась и при отсутствии связи с БД

незнаю конечно конкретной задачи, но можно сделать чтобы программа запускалась бы сначала без авторизации, и поместить гненибудь кнопочку типа"Войти" по которой всплывает форма для аутентификации, чтобы приступить к работе с базой (заодно отпадает надобность хранить пароли в файле). Ну по типу как в онлайн Покере))


С Днем Победы Товарищи!
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#9: 2009-05-09 13:27:52 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-10 12:48:48
карма: 0

0
Ответов: 4641
Рейтинг: 334
#10: 2009-05-09 13:45:02 ЛС | профиль | цитата
Рі. Pirr1 писал(а):
А нодо и шифрацию и дешифрацию как-то сделать.

это конечно можно сделать, а надо ли оно?
Думаю так! логин+пароль=Хеш сумма.
Далее в отдельной таблице (а точнее 2 мемо) у тебя список: Хеш сумма и ФИО, номер, пол, возраст, размер груди, замужем/нет.....ну да ладно.
И при входе вводит лоргин и пороль, получается хешсумма! По хемсумме находишь индекс строки, а имея индекс строки в другом мемо ты запросто находишь саму строку с ФИО итд
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Гость
Ответов: 17029
Рейтинг: 0
#11: 2009-05-09 14:53:20 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-10 12:48:48
карма: 0

0
Ответов: 409
Рейтинг: 17
#12: 2009-05-09 14:57:48 ЛС | профиль | цитата
Че за ерунда, форум не пускает, говорит такой такой пользователь существуе
---------------------------------
Пустило!
карма: 0

0
Ответов: 4641
Рейтинг: 334
#13: 2009-05-09 15:07:25 ЛС | профиль | цитата
Рі. Pirr1 писал(а):
Про шифрацию и дешифрацию - это я для файла setup.ini писал, где хранится пароль для доступа к БД.

тогда ясно. Используй компонент Crypting от Wolfik
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 409
Рейтинг: 17
#14: 2009-05-09 23:35:52 ЛС | профиль | цитата
Всем спасибо, всё у меня получилось. Просто сказка
Сперва слепил форму для администрирования. В ней задал поля ввода: ФИО, имя, пароль, печать. Затем данные из полей "имя" и "пароль" объеденил и Hashsum зашифровал. И дальше все на сохранение в файл.
В итоге в текстовом файле имеем строки вида: Администратор;F6FDFFE48C908DEB0F4C3BD36C032E72;000
Потом создал форму для аутентификации. Где поля "имя" и "пароль" также шифруются Hashsum. Текстовый файл автоматически грузится в таблицу строк.
При вводе имени и пароля, начинается поиск хэша в таблице строк, и как только он находит совпадение, происходит доступ к главной форме программы. Плюс я имею индекс строки в которой найден хэш, а разложить строку на состовляющие уже не сложно.

В общем если кого заинтересовал такой вариант, могу подготовить упрощенную схему и выложить.
карма: 0

0
Ответов: 24
Рейтинг: 6
#15: 2009-09-03 13:51:29 ЛС | профиль | цитата
Pirr писал(а):
В общем если кого заинтересовал такой вариант, могу подготовить упрощенную схему и выложить.

дай пожалуйста,я как раз такую же прогу делаю
карма: 1

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)