Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пароль для всех, как сделать? Пароль на запуск программы. 
:(
    Опции темы
Sett
  Дата 10.2.2005, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Приветствую всех!

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

Пишу свою прогу связоную с базой данных, но хочу сделать так, чтобы ей мог пользоваться не всякий человек, а кто будет пользовваться, то чтоб у него были определённые права и возможности управления прогой.
Пример 1:
Админ. - максимальный доступ.
Зам.Админа - средний доступ.
Подчинённый - минимальный доступ.


Или просто когда пользователь вводит свой пароль, программа его узнавала и здаровалась с ним.

Пример 2:
Пароль: 12345 = Привет Вася!
Пароль: 56789 = Привет Надя!
или Пароль: 00 = Здрасти Хозяин!

Ну и в таком роде.

Тоесть меня интересует, чтобы я мог когда угодно изменить пароль или вообще его удалить.

Приведите пожалуйста пример, только если можно попроще.

Спасибо.
PM MAIL WWW ICQ   Вверх
Alex
Дата 10.2.2005, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

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



Создай таблицу пользователей в базе и храни там пароли и имена людей, но только закодируй их.


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Bes
Дата 11.2.2005, 07:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Воспользуйся Access-ом. :-)
PM MAIL   Вверх
mvdr
Дата 11.2.2005, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

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



я уже неоднократно предлогаю свой выход из ситуации с паролированием: он простой, но и оригинальный. Для данной ситуации можно сделать так:
где то ( хоть в файле passwords.txt ) храняться пароли и имена всех пользователей ( их можно закодировать ) и их статусы ( т.е. разграничитель по правам ). перед открытием формы появляется окошко с просьбой ввести пароль и имя, остальные компаненты ставятся на Panel1, которая Visible=false. Дальше при нажатии на кнопку ( или сочитание клавиш ) происходит "регистрация" пользовотельского имени и пароля - сравнение с имеющейсяя базой. Если находим совпадение, то делаем Panel1.Visible=true и статус передаем Edit1.Text
Теперь о правах: надо прописать, что если Edit1.Text='Админ', то все компаненты открыты, если же Edit1.Text='пользователь', то часть кнопок ( свойств, методов, и т.д. и т.п. ) делаем не видимыми.

способ проверенный - единственный его минус - много прописывать руками, но мне, например, так гораздо приятнее и больше нравиться.


--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
User
Дата 11.2.2005, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Alex а нельзя ли поподробнее узнать у тебя как это сделать.
<Создай таблицу пользователей в базе и храни там пароли и имена людей>

Заранее благодарен.
PM MAIL WWW   Вверх
Alex
Дата 11.2.2005, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

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



Цитата(Sett @ 10.2.2005, 15:42)
Админ. - максимальный доступ.
Зам.Админа - средний доступ.
Подчинённый - минимальный доступ.

Xто именно хочешь разграничивать?
Добавлено @ 22:45
Опиши свою ситуацию более детально, что бы я мог дать более полный ответ


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Sett
Дата 13.2.2005, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Что надо создать базу с разделением пароль и имя пользователя понятно,
мне понятно, как будет вглядеть запрос при появлени окошка предлагающего ввести пароль, т.е. сам код
Как он будет проверять есть ли в списке базы этот пароль?

По возможности покажите пожалуйста сам Код, или исходник, плиз..
Буду очень благодарен!
PM MAIL WWW ICQ   Вверх
Alex
Дата 13.2.2005, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

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



Ну тогда как минимум нужно занать о какой базе данных идет речь


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Sett
Дата 13.2.2005, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Смысал в чём, на файл баз-данных пароля не будет, он будет шифроваться, а пароль нужен на саму программу, почему я вопрос задал в этой рубрике, так это потому что, список паролей и пользователей, которые будут иметь допуск, храниться в файле баз-данных.
Поэтому я решил что и вопрос собственно к месту.

Мне нужен код чтобы понять как строка Edit будет проверять в файле с паролями если такой или нет, т.е нужен код, исходник, пример.
PM MAIL WWW ICQ   Вверх
Alex
Дата 13.2.2005, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

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



Еще раз говорю как я тебе дам ответ на вопрос если я незнаю какие компоненты ты используешь для доступа к базе данных.


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Sett
Дата 15.2.2005, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Table, DataSource, DBGrid, всего 3 компонента
PM MAIL WWW ICQ   Вверх
Dimich
Дата 15.2.2005, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Хорошо бы знать, что за СУБД у Вас, потому как в разных СУБД это можно решить по-разному. У меня была следующая проблема: в организации есть более 50 юзеров, каждый из которых выполняет свою специфическую работу в БД. Программный комплекс состоит из примерно 20 независимых компонентов (это и программы корректировки и ввода информации и различные отчеты и т.д.) Каждый юзер должен иметь свой набор компонентов (обычно не более 10), а остальные ему не только не нужны, но и нежелательны. Я пошел по следующему пути: на сервере выделил место для хранения всех этих компонентов (у меня Samba, но это не важно), а юзерам сделал менюшку, которая получив username и password читает из базы роль юзера и формирует на ее основании индивидуальную менюшку - работай на здоровье со своими программами (только те проги, что появились в менюшке, он может запускать)
Алгоритм работы менюшки следующий.
1. Запришиваем username и passord
2. Коннектимся к БД (если соединение не установлено, то ничего не поделаешь - ты чужой)
3. Читаем табличку USR
SQL> desc usr;
Name Null? Type
------------------------------- -------- ----
USER_ID NOT NULL NUMBER(5)
USROLE_ID NUMBER(5)
USDTFN NOT NULL DATE
USNAME NOT NULL VARCHAR2(10)
USDTST NOT NULL DATE
USFIO VARCHAR2(30)

select * from usr where usname=:usname;
4. Проверяем, зарегистрирован ли пользователь в этой табличке, попадает SYSDATE в интервал USDTST..USDTFN и запоминаем его USER_ID
5. далее читаем таблички STRMENU и BARMENU (вертикальное меню и горизонтальное) с записями для этого пользователя. Вообще то STRMENU и BARMENU это своего рода справочники, а соответствие между элементом меню и USER_ID задается еще одной табличкой - USRMNU. Вот структура этих таблиц:
SQL> desc barmenu;
Name Null? Type
------------------------------- -------- ----
BARMENU_ID NOT NULL NUMBER(4)
STRMENU_ID NOT NULL NUMBER(1)
BARMENU NOT NULL VARCHAR2(50)
BARMENUPATH NOT NULL VARCHAR2(50)

SQL> desc strmenu;
Name Null? Type
------------------------------- -------- ----
STRMENU_ID NOT NULL NUMBER(1)
STRMENU NOT NULL VARCHAR2(15)

SQL> desc usrmnu
Name Null? Type
------------------------------- -------- ----
USER_ID NOT NULL NUMBER(5)
BARMENU_ID NOT NULL NUMBER(4)

Я просто изложил свое решение, может пригодится, кто его знает......
--------------------
Не работает - исправь, работает - не трогай!!!
PM MAIL ICQ Jabber   Вверх
Sett
Дата 16.2.2005, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Dimich Спасибо друг, обязательно попробую.
PM MAIL WWW ICQ   Вверх
User
Дата 16.2.2005, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Alex в продолжение темы
К примеру если БД Paradox то как хранить пароль!
PM MAIL WWW   Вверх
Sett
Дата 18.2.2005, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Если есть ещё какие нибудь способы, буду рад их расмотреть
PM MAIL WWW ICQ   Вверх
mvdr
Дата 18.2.2005, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

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



А создавать базу обязательно?
Можно использовать связб с файлом txt формата.т.е .при нажатии на кнопку "Войти" файл загружается в Мемо, там прогонкой выискивается нужный логин и пароль, и далее как уже выяснено.
Для красоты можно файл закодировать. минусом является то, что к этому файлу может иметь доступ каждый, но этого можно избежать,делая несколько копий и потом проверять, еслидата сохранения файла1 не совпадает с той, которая была сделана при записи, то открывать файл2.


--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
AntonSaburov
Дата 18.2.2005, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Когда-то давно была вот такая тема - можно посмотреть.
PM MAIL WWW ICQ   Вверх
Alex
Дата 18.2.2005, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

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



Цитата(User @ 16.2.2005, 16:30)
Alex в продолжение темы
К примеру если БД Paradox то как хранить пароль!

Я бы сказал так: хранить можно где угодно главное его зашифровать.


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


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

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

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


 




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


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

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