Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2013, 21:32   #1
xsaroo
Пользователь
 
Регистрация: 14.10.2012
Сообщений: 40
По умолчанию Диалог ввода пароля?

[IMG][/IMG]

Есть 2 типа пользователей :
1.Библиотекарь
2.Ученики
Сам вопрос: как организовать ввод пароля при нажатии на кнопку библиотекарь и возможностью смены пароля если забыл (ну по типу эл.почты) после ввода пароля открывается другая форма и еще при нажатии на кнопку "ученик" он не может редактировать и и заполнять таблицы а только просматривать.


Skypi:Xsaroo
xsaroo вне форума Ответить с цитированием
Старый 14.05.2013, 21:43   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Пишите программу просмотра и программу редактирования. Меньше проблем.
Человек_Борща вне форума Ответить с цитированием
Старый 14.05.2013, 21:57   #3
xsaroo
Пользователь
 
Регистрация: 14.10.2012
Сообщений: 40
По умолчанию

Вы предлагаете сделать два варианта программы как я понял.
В одной редактирование и все такое , в другой только просмотр ок спасибо так и сделают.
Только бы пароль для библиотекаря для 1 проги не помешал бы желательно с возможностью напоминания ,смены пароля
xsaroo вне форума Ответить с цитированием
Старый 14.05.2013, 23:00   #4
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

я такую программу где-то дня 4 писал, если найду исходник-выложу, а для начала предлагаю вам создать типизированный файл записей, и задать изначально стандартный пароль, чтобы его в последствии можно было менять. Да, и еще, какие таблицы?
from dark to light)

Последний раз редактировалось Алексей_2012; 14.05.2013 в 23:05.
Алексей_2012 вне форума Ответить с цитированием
Старый 14.05.2013, 23:27   #5
xsaroo
Пользователь
 
Регистрация: 14.10.2012
Сообщений: 40
По умолчанию

Самые обычные, созданы в Access)
Для вывода использую dbGrid-ы.
Мне скорее нужен пароль не на саму базу .
В принципе нашел но все равно нет, + не понимаю как пароль заменить + добавить редактирование пар.


var
Form1: TLoginForm;
count: integer;
l, p: string;

implementation

{$R *.dfm}

function CheckUser(log, pas: string): boolean;
begin
if (sha1(sha1(log)) = l) and (sha1(sha1(pas)) = p) then
result := true
else
result := false;
end;

procedure TLoginForm.Button1Click(Sender: TObject);
begin
if CheckUser(Edit1.Text, Edit2.Text) then
begin
status := 0;
close;
end
else
begin
inc(count);
if count = 3 then
begin
status := 1;
close;
end
else
Application.MessageBox
(PChar('Вы ввели неправильный логин\пароль ' + inttostr(count)
+ ' раз(а) (еще ' + inttostr(3 - count)
+ ' раз(а) можно ошибиться)'), 'Защита');
end;
end;

procedure TLoginForm.StringsChange(Sender: TObject);
begin
if (length(Edit1.Text) = 0) or (length(Edit2.Text) = 0) then
begin
Button1.Enabled := false;
end
else
begin
Button1.Enabled := true;
end
end;

procedure TLoginForm.FormCreate(Sender: TObject);
var
ini: TIniFile;
begin
ini := TIniFile.Create(ExtractFilePath(Par amStr(0)) + 'settings.ini');
try
l := ini.ReadString('Main', 'Login', '8BE64875D187CE458B5565072E92762EBE 34D1DE');
p := ini.ReadString('Main', 'Password', '2D7A3B58812195A8CB8B8BADEF8C924A87 3B1D65');
finally
ini.Free;
end;
status := 2;
count := 0;
StringsChange(self);
end;

procedure TLoginForm.FormDestroy(Sender: TObject);
var
ini: TIniFile;
begin
ini := TIniFile.Create(ExtractFilePath(Par amStr(0)) + 'settings.ini');
try
ini.writestring('Main', 'Login', l);
ini.WriteString('Main', 'Password', p);
finally
ini.Free;
end;
end;

Последний раз редактировалось xsaroo; 14.05.2013 в 23:31.
xsaroo вне форума Ответить с цитированием
Старый 15.05.2013, 00:42   #6
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Ладно, программы не нашел, быстро накидал новую, так что извиняюсь за ужасный код, там 4 формы. программа позволяет задавать стандартный пароль (0000-при первом запуске или после случайного или намеренного уничтожения файла) и возможность его(пароль) восстановить и/или заменить. Но настоятельно рекомендую вам отказаться от типизированного файла (а в моей программе именно он и используется), и продумать алгоритм шифровки данных, если помог, то на весы можно не нажимать....
Вложения
Тип файла: rar смена-восстановление пароля.rar (16.0 Кб, 12 просмотров)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 15.05.2013, 00:46   #7
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

P.S. Если нужен многопользовательский доступ с логином, паролем и проверкой на существование этого логина, то смогу помочь (т.е если логин уже зарегистрирован, то выводится ошибка)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 15.05.2013, 07:17   #8
superedward
Форумчанин
 
Аватар для superedward
 
Регистрация: 27.11.2012
Сообщений: 190
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Пишите программу просмотра и программу редактирования. Меньше проблем.
Имхо, лучше разграничить права в зависимости от типа пользователя
superedward вне форума Ответить с цитированием
Старый 15.05.2013, 07:59   #9
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Елки-палки. В БД создайте ещё одну таблицу с 3-мя полями : login -текстовый, pass-текстовый, access-логический (имена полей можете придумать сами). Login и pass сами поняли за что отвечают, а поле access отвечают за права админа - true - сидит админ, false - пользователь. Запарольте Access'ную БД. Создайте форму авторизации и главную форму. При авторизации пользователя смотрите есть ли права на редактирование инфы. Если есть права, делайте видимым соответствующий функционал на главной форме обычным Visible:=true, скрывайте форму авторизации и показывайте главную методами Hide и Show. Нет прав - нет функционала.
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 15.05.2013, 20:18   #10
xsaroo
Пользователь
 
Регистрация: 14.10.2012
Сообщений: 40
По умолчанию

Цитата:
Сообщение от Алексей_2012 Посмотреть сообщение
Ладно, программы не нашел, быстро накидал новую, так что извиняюсь за ужасный код, там 4 формы. программа позволяет задавать стандартный пароль (0000-при первом запуске или после случайного или намеренного уничтожения файла) и возможность его(пароль) восстановить и/или заменить. Но настоятельно рекомендую вам отказаться от типизированного файла (а в моей программе именно он и используется), и продумать алгоритм шифровки данных, если помог, то на весы можно не нажимать....

Благодарю.
xsaroo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма ввода пароля R71MT Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 16.06.2011 16:22
Поле ввода для пароля Небесный HTML и CSS 2 06.11.2010 21:09
Диалог ввода строки. Alex Cones Общие вопросы Delphi 2 03.12.2009 18:17
Скрытие ввода пароля masterdela Общие вопросы Delphi 6 07.05.2009 10:37
Диалог ввода файла SAndrus Microsoft Office Excel 9 10.07.2007 08:32