Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Авторизация [D7, XP]


Страницы:   1 2 3 4

Cannon ©   (2010-06-08 14:06:00) 

Здравствуйте. Подскажите пожалуйста, как по правильному производить авторизацию в программе. Сейчас я делаю отдельную форму куда юзер вводит данные авторизации, под этими данными коннекчусь к БД, затем если соединение установлено, скрываю форму авторизации и запускаю главное окно. В некоторых случаях, когда ОС виснет, у меня форма авторизации не скрывается и запускается главное окно, редко но бывает. А как по правильному делать все это дело? Спасибо.


pest   (2010-06-08 15:01:00) [41]


> Даже пусть одна таблица и что?

неужели с логикой все так сложно??

если речь идет об ограничении доступа к программе пользователей, которые будут использовать одни и те же данные, то никакие userid не нужны конечно. а если у каждого пользователя буду в БД свои данные, и дргие пользователя не должны иметь доступ к ним, то userid как раз в тему. особенно если там всего одна таблица и добавлять колонку не придется к сотням таблиц.


Медвежонок Пятачок   (2010-06-08 15:00:00) [42]

один технологический логин к серверу + система логинов и ролей в БД это не извращение. Это один из возможных способов разграничения доступа.


Dennis I. Komarov   (2010-06-08 15:00:00) [43]


> Cannon   (08.06.10 14:54) [15]

Если нет трехзвенной архитектуры, используй средства СУБД.


Anatoly Podgoretsky   (2010-06-08 15:00:00) [44]

Пишешь на другом языке, а совет по Дельфи.


Anatoly Podgoretsky   (2010-06-08 14:58:00) [45]

> pest  (08.06.2010 14:53:14)  [14]

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


Dennis I. Komarov   (2010-06-08 14:57:00) [46]


> может там всего одна таблица в базе, тогда userid не помешает
> никак. а может там стоит создавать под каждого юзера свою
> БД. а может под каждого юзера таблицы с префиксами свои.
> ..

Бред, не зависимо от функций программы.


> о каком коверкании может идти речь, если даже структура
> не известа

Даже пусть одна таблица и что?


Cannon   (2010-06-08 14:54:00) [47]

Всем спасибо. Решил сделать как посоветовал Медвежонок Пятачок.


> Цель (задача) какая? Или ты думаешь, что есть волшебная
> таблетка?


Я же написал цель. За меня ничего писать не надо, и таблеток волшебных не нужно. Да и пишу я на другом языке а не в Delphi. Мне нужно узнать как авторизацию лучше всего организовать, от  более опытных людей.


pest   (2010-06-08 14:53:00) [48]


> Это как же надо исковеркать БД

еще раз повторюсь, что нам не известно что делает программа. может там всего одна таблица в базе, тогда userid не помешает никак. а может там стоит создавать под каждого юзера свою БД. а может под каждого юзера таблицы с префиксами свои...
о каком коверкании может идти речь, если даже структура не известа


pest   (2010-06-08 14:50:00) [49]

да и велосипед, рас я его повторно изобрел, был предназначен не для тех, кто о нем уже давно знает, а для тех, у кого вызывает затруднения

> А как по правильному делать все это дело?


Dennis I. Komarov   (2010-06-08 14:50:00) [50]


> Anatoly Podgoretsky ©   (08.06.10 14:45) [9]

Это не велочсипед, это что-то более страшное...


> pest ©   (08.06.10 14:42) [6]

> во всех таблицах, которые используют юзеры добавил бы колонку
> с userid.


Это как же надо исковеркать БД


программер   (2010-06-08 14:49:00) [51]

запустить скрытой главную форму, создать авторизационную форму, при валидности данных уничтожить авторизационную форму и сделать видимой главную форму.


pest   (2010-06-08 14:46:00) [52]

2Anatoly Podgoretsky
при ответе на сарказм одного пользователя, получил от другого...


Anatoly Podgoretsky   (2010-06-08 14:45:00) [53]


> pest ©   (08.06.10 14:42) [6]

Велочсипедостроитель.


Dennis I. Komarov   (2010-06-08 14:44:00) [54]


> пароли можно в хэше держать

Не можно, а нужно.


Anatoly Podgoretsky   (2010-06-08 14:42:00) [55]

> Cannon  (08.06.2010 14:06:00)  [0]

Цель (задача) какая? Или ты думаешь, что есть волшебная таблетка?


pest   (2010-06-08 14:42:00) [56]

я вообще паролями к базе не разбрасываюсь.
я бы создал один пароль к бд, создал бы в бд таблицу с юзерами (логин, пароль, id и тд).
во всех таблицах, которые используют юзеры добавил бы колонку с userid.
и при пользовании того или иного пользователя программой делал бы WHERE userid=CurenUserID.
а таблица с пользователями никому не доступна из программы.

мы не знаем какой сложности и серьезности должна быть программа. в большинстве случаев хранить пароли в базе в недоступной для всех таблице это нормально. иначе где ему их еще хнранить? плюс если страшно есть функции хеширования.Self пароли можно в хэше держать.


Dennis I. Komarov   (2010-06-08 14:37:00) [57]

Хранить пароли - недопустимо. Для этого специальные необратимые функции придумали.


pest   (2010-06-08 14:32:00) [58]

2Dennis I. Komarov
сарказм непонятен


Dennis I. Komarov   (2010-06-08 14:29:00) [59]


> храни в базе все логины и пароли.

"Ага, и маму в дом. Только мамы нам там и не хватало" (C)


Медвежонок Пятачок   (2010-06-08 14:25:00) [60]

Создаем главную форму.
в ОнКриэейт посылаем себе пользовательское сообщение.
в обработчике создаем модальную форму входа.
при ее закрытии если mrOk получаем данные введенные юзером.

подключаемся. если все ок, то все ок.
если нет, то нет. повторяем.


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо