Delphi ИНФО (Помогите плиз)
67 сообщений
#17 лет назад
Посоветуйте пожалуйста в следующем :Я пишу прогу на Delphi и в ней нужно сделать авторизацию пользователя. Прога работает с базой данных. Перед авторизацией пользователь регистрируется, данные заносятся в БД. После запуска проги должно появится окно авторизации ну и на ней кнопочка "регистрация", после ввода логина с паролем эти данные проверяются и если истина то загружается основное окно программы, окно авторизации закрывается и в основном окне программы загружаются данные того пользователя который авторизировался. Вопрос в следующем как это организовать чтоб это было как можно более безопасно, буду рад увидеть какие-то примеры по этой теме


1895 сообщений
#17 лет назад
Лучше сразу на Мастдай, чтобы регатся с проги нужна полюбому какаято запись, для этого нужно сделать юзера, которий будет иметь право реагтся (хранимка на сервере, и больше ничего), хранимка будет создавать юзера для БД с нужними правами, проще простого)На ексесе щас мучатся не вижу смисла, это не СУБД, это пародия на СУБД)))
Как транспорт ADO не рекомендую, исходя из личного опыта намного лучше AnyDac, погуглите, найдете.
1895 сообщений
#17 лет назад
Ну тогда мучайтесь с ADO, рано или поздно начнёте искать альтернативы все равно)
67 сообщений
#17 лет назад
Лан, ща поставлю mssql (в первый раз в жизне кстати )))) (раньше работал php+sql) и буду юзать его ))... за это время надеюсь еще какиенить советы появятся, а желательно примеры 
1090 сообщений
#17 лет назад
Цитата ("MMM_Corp"):Как транспорт ADO не рекомендую, исходя из личного опыта намного лучше AnyDac, погуглите, найдете.
Плохому танцору ноги мешают.
1895 сообщений
#17 лет назад
Цитата ("webgreck"):Лан, ща поставлю mssql (в первый раз в жизне кстати )))) (раньше работал php+sql) и буду юзать его ))... за это время надеюсь еще какиенить советы появятся, а желательно примеры
Предвидя вопрос, про строку подключения: Вам сюда ссылка
Если будут вопросы обращайтесь, помогу без проблем)
alibek, категоричсеки не могу согласится, во первых напр. 7 делфи неверно работет с АДО, без АДО апдейта до версии 7.1, вот новичок точно начнёт локти кусать почему не пашет, а тут такое дело, дальше, скорость работы, АДО к сожалению проигрывает в скорости в 1,5 раза перед AnyDac, я уже не говорю об прекрсаном макроконструкторе, удобном и гибком механизме операций Insert, Update, Delete, это крайне полезно когда прога не уровня лаби а уровня корпоративной системи, где вся работа завязана на хранимках, человеку которий всегда работал с MySQL + PHP явно будет сложно понять всю прелесть хранимок и будут сначала мати и мол зачем всё это, но киньте у меня камнем кто думает что хранимки не удобние)
1090 сообщений
#17 лет назад
Это проблемы не ADO, а Delphi.Используя ADO прекрасно работает большое число коммерческих и масштабных проектов.
ADO является довольно универсальной технологией, поэтому может по скорости несколько проигрывать компонентам, специально заточенным под скорость.
Однако по гибкости и возможностям всем этим компонентам до ADO далеко.
Нюансы же использования хранимых процедур вообще не имеют никакого отношения к выбранной технологии доступа к данным.
120 сообщений
#17 лет назад
2 варианта работы (рассматриваю вариант использования MSSQL)1. Работа с системой производится от одного пользователя БД. Список пользователей хранится в отдельной таблице. Регистрация сводится к заведению новой записи в таблице (пароль необходимо хранить в хэшированном виде), а вход в систему - к поиску пользователя с введеным именем и паролем (пароли сравниваются по хэшу). В случае успешного входа в программе необходимо хранить идентификатор пользователя либо использовать "сессионные" таблицы для записи/чтения пользовательских настроек.
2. Каждому пользователю системы соответствует пользователь БД с соответствующими правами. Регистрация сводится к заведению нового пользователя и присвоения ему базовых ролей и привилегий. Вход в систему представляет собой попытку коннекта к базе под выбранным пользователем. Для записи/чтения настроек использовать "сессионные" таблицы либо системные функции.
Второй вариант безопасней и предпочтительней, но более трудоемок. Первый вариант подходит для малых систем с небольшими требованиями к безопасности.
Для начала советую изучить документацию к выбранной базе данных, уделить внимание главе аутентификации.
1090 сообщений
#17 лет назад
Лучше сразу использовать именно второй вариант.Чтобы потом не спотыкаться о грабли.
Реально первый вариант имеет смысл только в трехзвенных системах.
120 сообщений
#17 лет назад
Для новичка первый вариант тоже подойдет. ИМХО, даже предпочтительнее. Для получения опыта.