Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: СУБД и Delphi/Lazarus

  Все выпуски  

RusFAQ.ru: СУБД и Delphi


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / СУБД и Delphi

Выпуск № 496
от 30.07.2008, 14:05

Администратор:Gh0stik
В рассылке:Подписчиков: 271, Экспертов: 21
В номере:Вопросов: 1, Ответов: 1

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 140707: Может мой вопрос покажется простым ну если можно ХЕЛП) У меня стоит Delphi 7 и база данных написана под Interbase 7.0. Подскажите плз следующее: у меня есть форма на которой располагаются два TxtEdita Логин и пароль и две кнопки ОК и Can...

Вопрос № 140.707
Может мой вопрос покажется простым ну если можно ХЕЛП)

У меня стоит Delphi 7 и база данных написана под Interbase 7.0.
Подскажите плз следующее:
у меня есть форма на которой располагаются два TxtEdita Логин и пароль и две кнопки ОК и Canсel
в базе данных (test.gdb) есть таблица Autorizacia, в которой есть два столбца логин и пароль,

Как можно в Delphi таким образом сделать авторизацию для проверки логина и пароля пользователя если они будут верны, то загружается программа дальше, а если нет, то выдавать соответствующее сообщение!

P.s. Если можно то с примерами...

Заранее благодарен...
Отправлен: 25.07.2008, 13:53
Вопрос задал: Demon:-) (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 6)

Отвечает: Виктор Пырлик
Здравствуйте, Demon:-)!

Обычно так не делается.. дело в том, что суть авторизации - предоставить или запретить доступ к данным. Но у вас хранится логин и пароль в базе, тем более, как я понял в открытом виде (что весьма просто может посмотреть любой желающий.). Делается так: в базе данных заводится пользователь (пользователи) и назначаются им права (т.е. бизнес логика - кому то можно удалять, кому то можно только смотреть и только определённые данные, кто-то может редактировать только определённые данные и т.д.). После этого, вы просто выставляете LoginPromt компонента IBDateBase в True и всё.. при подключение к базе данных (запуску приложения) InterBase сам запросит логин и пароль.. Один недостаток - сообщение выведется на английском языке, хоть там и все просто, но ничего не мешает самому сделать форму маленькую и до старта основной формы (в файле проекта) динамически её создавать, получать логин пароль, стартовать модуль данных (а правильно компоненты базы данных держать в модуле данных - есть шаблон в выборе проекта для создания) и передовать эти параметры IBDateBase - дальше просто пытаться открыть.. если база не пустила - например, даем попытки и если неверно - просто выходим - приложение даже не показывает главную форму.. Иначе, если пароль принят и база открыта - то в теле условия выполняем стандартный код создания главной формы.

вот примерный алгоритм...
Код:
var FLogin : TFLogin;

begin
FLogin := TFLogin.Create(nil);
// запускаем форму в модальном режиме
// в форме делаем логику проверки валидности пользователя,
//если нормально ModalResult = mrOk иначе ModalResult = mrCancel
if (FLogin.ShowModal = mrOk) then
begin
блок создания всех фор м приложения
сюда попадем только если пользователь прощел проверку
end;
// иначе просто выходим, т.е. ничего не показывается
end.

---------
Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Профессионал)
Россия, Полевской
Тел.: 89043822027
ICQ: 490191733
----
Ответ отправлен: 25.07.2008, 21:29


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 5.0 alpha от 21.07.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное