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) 

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


Плохиш   (2010-06-08 20:14:00) [1]


> В некоторых случаях, когда ОС виснет, у меня форма авторизации
> не скрывается и запускается главное окно, редко но бывает.
>

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

> Cannon   (08.06.10 16:18) [52]

> Прежде чем исправлять зависания итп я хотел узнать лишь
> экспертное мнение, как вообще другие люди пишут модуль авторизации.
>

Ввод данных авторизации - создание строки подключения - попытка соединения - дальше действия в зависимости от результата.


Игорь Шевченко   (2010-06-08 17:29:00) [2]

Anatoly Podgoretsky ©   (08.06.10 16:31) [55]

У них это называется OS Authentification


Anatoly Podgoretsky   (2010-06-08 17:09:00) [3]

> Cannon  (08.06.2010 16:18:52)  [52]

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


pest   (2010-06-08 16:58:00) [4]


> Dennis I. Komarov ©   (08.06.10 16:44) [56]

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

все что я хотел написать я написал в первом посте автору, а дальше лишь ваше упорство.


pest   (2010-06-08 16:44:00) [5]


> Допустим я не проверяю есть ли коннект и пускаю врага в
> программу

ну так я разве чтото не так написал?

> проверь можно ли юзера впускать. если можно, то переконнекться
> под нужными авт.данными.

раз уж ты в любом случае коннектишься к базе, то и проверь есть ли доступ у юзера (посмотрев в таблице юзеров), а уж потом делай переконнект с его авт.данными.
я может и не эксперт, но дал совет как бы сделал я. но в любом случае после проверки пользователя никто не мешает не давать доступ к программе, если по каким-либо причинам нет коннекта


Dennis I. Komarov   (2010-06-08 16:44:00) [6]


> pest ©   (08.06.10 16:29) [54]

Ничего общего сие с авторизацией не имеет. Сие есть признак (статус) заказа.


Anatoly Podgoretsky   (2010-06-08 16:31:00) [7]

> Игорь Шевченко  (08.06.2010 16:15:51)  [51]

Windows Autentification?


pest   (2010-06-08 16:29:00) [8]


> Ничего тут оптимального нет...

пример:
в контору поступают заказы. секретарь вбивает все заказы в БД в одну общую таблицу  и для каждого заказа ставит роль 1.

в одно и то же время это таблицей могут пользоваться все, но:
у рабочего отдела выборка WHERE price<10000 OR role=2
у маркетингового отдела выборка WHERE role=1

рабочие могут обрабатывать мелкие заказы (до 10000руб) сразу и смогут получить крупные заказы только тогда, когда отдел маркетинга проверит можно ли давать в производство тот или иной крупный заказ, и поменяет "role" с 2 на 1.

роль 1 - доступ маркетингового отдела.
роль 2 - доступ рабочего отдела.


реализуйте такую задачу на уровне GUI и поговорим об оптимальности!


> Нигде не указывалась булевая сущность разграничения прав
> на действие.


> Dennis I. Komarov ©   (08.06.10 15:35) [38]
> Данные загружаются, после определенного действия, разрешение
> на которые и нужно проверять.

и

> Повторяю - для каждого пользователя свои данные - это бред
> и никуда от этого не денитесь... Данные они одни (одинаковые)
> для всех...

опять же вернусь к тому что просто говорить "бред" нельзя. так как задачи ставятся разные, а как я повторял в ( pest ©   (08.06.10 14:42) [6]) и в ( pest ©   (08.06.10 14:53) [14]) задача автора не была должным образом изложена. по крайней мере для меня (если для всех она понятна с самого первого поста..)


Cannon   (2010-06-08 16:23:00) [9]


> Авторизация это и есть разграничение прав, вот я и говорю,
>  что ты путаешь два разных процесса. У тебя только аутентификация.


Да, прощу прощения. Я всех запутал. ((


Cannon   (2010-06-08 16:18:00) [10]


> Тогда зачем же ты другое рассказывает, ты и рассказывай
> как избежать зависания формы.
>


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


Игорь Шевченко   (2010-06-08 16:15:00) [11]


> БД Oracle 10g Express Edition


Авторизация средствами операционной системы и FGA ?


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


> Cannon   (08.06.10 16:11) [47]

Авторизация это и есть разграничение прав, вот я и говорю, что ты путаешь два разных процесса. У тебя только аутентификация.


Cannon   (2010-06-08 16:14:00) [13]


> Можно узнать, чем обусловлен выбор?


Выбор заказчика, а ТЗ заказчик списывал с другого ТЗ хотя сам не смыслит ничего в этом. Мои предложения Delphi + MySQL5 не были приняты и приходится писать в C# + Oracle 10g XE


Anatoly Podgoretsky   (2010-06-08 16:12:00) [14]


> читай внимательнее тогда. проблема заключалась вот в чем

Тогда зачем же ты другое рассказывает, ты и рассказывай как избежать зависания формы.


Cannon   (2010-06-08 16:11:00) [15]


> а я предложил не конектиться сразу к БД под неизвестно какими
> авторизационными данными, а проверять сначала их валидность
> используя 100% правильный коннект. (> pest ©   (08.06.10
> 14:23) [1])
> и кого же я запутал предложив снять нагрузку с модального
> окна во избежание повисания?


Если бы коннекта не было, главная форма бы не запустилась. БД выдало бы ошибку: пользователь или пароль не верный, либо проблемы с TNS. Допустим я не проверяю есть ли коннект и пускаю врага в программу, тогда вообще ни одно действие не должно было бы выполниться связанное с таблицами в БД. Форма ввода элементарно иногда не скрывается. А Роли, Администрирование итп я вообще не затрагивал, тему по разграничениям прав доступа не я раздувал.


Dennis I. Komarov   (2010-06-08 16:11:00) [16]


> Cannon   (08.06.10 15:57) [42]

Можно узнать, чем обусловлен выбор?


Dennis I. Komarov   (2010-06-08 16:05:00) [17]


> pest ©   (08.06.10 15:49) [41]

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


pest   (2010-06-08 16:03:00) [18]


> Cannon   (08.06.10 15:57) [42]
>именно в моем данном случаи Администрирования и разграничения ролей нет.


да, кстати, тут дебаты уже пошли гипотетические. кому-то что-то не понравилось и понеслись)


pest   (2010-06-08 15:59:00) [19]


> Anatoly Podgoretsky ©   (08.06.10 15:40) [39]

читай внимательнее тогда. проблема заключалась вот в чем

> В некоторых случаях, когда ОС виснет, у меня форма авторизации
> не скрывается и запускается главное окно, редко но бывает.
>

а я предложил не конектиться сразу к БД под неизвестно какими авторизационными данными, а проверять сначала их валидность используя 100% правильный коннект. ( > pest ©   (08.06.10 14:23) [1])
и кого же я запутал предложив снять нагрузку с модального окна во избежание повисания?


Cannon   (2010-06-08 15:57:00) [20]


> Почти 40 постов, а СУБД так вроде и остается пока неизвестной.
>


БД Oracle 10g Express Edition, именно в моем данном случаи Администрирования и разграничения ролей нет.


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

Наверх

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