Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> программа аутентификацию на delphi, создание программы аутентификации 
V
    Опции темы
ihtiandr
Дата 4.1.2011, 19:00 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 16.12.2010

Репутация: нет
Всего: нет



Народ помогите, написать программу которая могла бы делать аутентификацию при запуске.

PM MAIL   Вверх
Poseidon
Дата 4.1.2011, 19:06 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 9
Всего: 133



Аутенти... тьфу ты, куда логиниться надо?


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Данкинг
Дата 4.1.2011, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(ihtiandr @  4.1.2011,  19:00 Найти цитируемый пост)
помогите

Помогаю. В чём именно заключается вопрос? Куда логинимся, как Poseidon уже спросил? Спрашиваем только логин или и пароль тоже?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Akella
Дата 5.1.2011, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 8
Всего: 329



Опять студенты атакуют?
PM MAIL   Вверх
Mach3
Дата 5.1.2011, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 26.11.2005

Репутация: нет
Всего: 2



Что-то подобное делал..
user posted image
Такую надо?
--------------------
Век живи - век учись...
PM MAIL ICQ   Вверх
ihtiandr
Дата 5.1.2011, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 16.12.2010

Репутация: нет
Всего: нет



аутентификация логина и пароля. 
Вот я пытался это сделать так:

Код

procedure TForm1.Button1Click(Sender: TObject);
vprocedure TForm1.Button1Click(Sender: TObject);
var
a,b,i,j:string;
f,l:textfile;
 begin
  i:=Edit1.text;
  j:=Edit2.text;
  reset(input,'qwe.txt');
  assignfile(l,'qwe1.txt');
  read(a,b);
  append(l);
  if (i=a) and (j=b) then begin showmessage('вы имеете допуск админа'); close; end
  else
   begin
   showmessage('вас зарегистрируют как пользователя');
   writeln(l,i,j);
   closefile(l);
 end;
end;
end.

Запускается правда даже если ввожу логин и пароль амина сохранённый в qwe.txt всё равно выходит showmessage('вас зарегистрируют как пользователя');
В чём здесь ошибка?Как её исправить?

Это сообщение отредактировал(а) bems - 6.1.2011, 19:03
PM MAIL   Вверх
Данкинг
Дата 5.1.2011, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(ihtiandr @  5.1.2011,  21:03 Найти цитируемый пост)
reset(input,'qwe.txt');

А assignfile не нужно перед этим?
Цитата(ihtiandr @  5.1.2011,  21:03 Найти цитируемый пост)
 read(a,b);

Вот это что за шедевр? Уж как-то так тогда, если логин с паролем в разных строчках находятся:
Код

var input:textfile;
...
assignfile(input,'qwe.txt');
reset(input);
readln(input,a);
readln(input,b);




Это сообщение отредактировал(а) Данкинг - 5.1.2011, 21:13


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
ihtiandr
Дата 5.1.2011, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 16.12.2010

Репутация: нет
Всего: нет



Огромное спасибо Данкинг. 
Только пожалуйста объясните ещё как связать этот модуль аутентификации с модулем любой другой программы таким образом чтобы если зашел админ у него была возможность редактировать код программы а если простой пользователь то он мог бы только ею пользоваться.
Заранее благодарен.

Это сообщение отредактировал(а) ihtiandr - 5.1.2011, 22:08
PM MAIL   Вверх
Данкинг
Дата 5.1.2011, 22:40 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(ihtiandr @  5.1.2011,  21:31 Найти цитируемый пост)
таким образом чтобы если зашел админ у него была возможность редактировать код программы а если простой пользователь то он мог бы только ею пользоваться.

Следует дать права админу на редактирование, а пользователю - "Read Only". smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
ihtiandr
Дата 5.1.2011, 23:03 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 16.12.2010

Репутация: нет
Всего: нет



Но как это сделать покажите пожалуйста хотя бы на этом примере
 Вот аутентификация:
Код

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,i,j:string;
input,l:textfile;
begin
i:=Edit1.text;
j:=Edit2.text;
assignfile(l,'qwe1.txt');
assignfile(input,'qwe.txt');
reset(input,'qwe.txt');
readln(input,a);
readln(input,b);
closefile(input);
append(l);
if (i=a) and (j=b) then begin showmessage('вы имеете допуск админа'); close; end
else
begin
showmessage('вас зарегистрируют как пользователя');
writeln(l,i,j);
closefile(l);
end;
end;
end.

А вот программа:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
a,b,c:integer;
begin
reset(input,'ewq1.txt');
rewrite(output,'ewq2.txt');
read(a,b);
c:=b+a;
write©;
  { TODO -oUser -cConsole Main : Insert code here }
end.


Это сообщение отредактировал(а) bems - 6.1.2011, 19:05
PM MAIL   Вверх
Данкинг
Дата 5.1.2011, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



ihtiandr, в чём именно вопрос заключается - лично я не понял. smile Где код программы должен редактироваться - в неком самодельном редакторе?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
ihtiandr
Дата 5.1.2011, 23:17 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 16.12.2010

Репутация: нет
Всего: нет



Нет в Delphi7 
PM MAIL   Вверх
kami
Дата 5.1.2011, 23:25 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Чуть повторю Akella :  smile 
Тема разграничения прав доступа к функциям программы достаточно объемная и сложная, особенно если нужно чтобы "пользователь Вася имеет доступ к этому (полный доступ) и тому(только чтение), пользователь Петя - к этому(только чтение), а все из группы Админы - ко всему".
Применительно к топику - завести глобальную переменную IsAdmin, при логине присваивать ей значение (после ShowMessage), а при доступе к различным функциям проверять ее значение.


Это сообщение отредактировал(а) kami - 5.1.2011, 23:26
PM MAIL WWW   Вверх
ihtiandr
Дата 5.1.2011, 23:33 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 16.12.2010

Репутация: нет
Всего: нет



kami можете привести пример.
PM MAIL   Вверх
Данкинг
Дата 5.1.2011, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(ihtiandr @ 5.1.2011,  23:17)
Нет в Delphi7

Чего нет в Delphi7?

Добавлено через 3 минуты и 49 секунд
Цитата(ihtiandr @  5.1.2011,  23:33 Найти цитируемый пост)
kami можете привести пример. 

Типа "сделайте одолжение"? smile 
ЗЫ: пример чего? Если "решите за меня" - это в "центр помощи".

Добавлено через 4 минуты и 59 секунд
Впрочем, вот тебе начало примера:
Цитата(kami @  5.1.2011,  23:25 Найти цитируемый пост)
Применительно к топику - завести глобальную переменную IsAdmin,

Код

var
 IsAdmin:boolean;


(извиняюсь за флуд). smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0614 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.