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:49:00) [21]


> Данные загружаются, после определенного действия, разрешение
> на которые и нужно проверять

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


Sergey13   (2010-06-08 15:45:00) [22]

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


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


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

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


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


> pest ©   (08.06.10 15:30) [36]

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


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

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


pest   (2010-06-08 15:30:00) [26]


> Доступ к чему? Вряд ли это будут таблицы, ибо юзеры юзуют
> GUI...

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

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


> Anatoly Podgoretsky ©   (08.06.10 15:22) [35]
выбор из справочника и плюс еще к этому бизнес правила

это что еще?


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

> pest  (08.06.2010 15:13:31)  [31]

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


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


> Медвежонок Пятачок ©   (08.06.10 15:13) [30]

А я про [6] :)


> pest ©   (08.06.10 15:13) [31]

Доступ к чему? Вряд ли это будут таблицы, ибо юзеры юзуют GUI...


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

> Медвежонок Пятачок  (08.06.2010 15:13:30)  [30]

В вопросе нет ничего про разграничение доступа, а только про логин.


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

> Cannon  (08.06.2010 15:06:26)  [26]

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


pest   (2010-06-08 15:13:00) [31]


> Dennis I. Komarov ©   (08.06.10 15:10) [29]

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


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

И чего? В каждую таблицу добавим поле UID, так? Что-то мне это не так представляется...

я не про эти частности говорил. нет у меня никаких ид.
я говорил про два подхода в системе разграничения доступа

1. "правильная", но часто неприменимая практически - все со своими sql аккаунтами

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


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


> Медвежонок Пятачок ©   (08.06.10 15:05) [25]

И чего? В каждую таблицу добавим поле UID, так? Что-то мне это не так представляется...


pest   (2010-06-08 15:10:00) [34]


> Теперь такой вопрос. Если у кого-то сессия зависнет, не
> будет ли это помехой для других пользователей которые коннектятся
> под тем же пользователем в БД?

абсолютно нет никакой проблемы, потому что коннект к базе все пользователи делают под одними авторизационными данными, а читают из базы исходя из условия WHERE


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

Теперь такой вопрос. Если у кого-то сессия зависнет, не будет ли это помехой для других пользователей которые коннектятся под тем же пользователем в БД?

Сессий много и они разные.


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


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


Теперь такой вопрос. Если у кого-то сессия зависнет, не будет ли это помехой для других пользователей которые коннектятся под тем же пользователем в БД?


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


меня 2хзвенная архитектура. Можно по подробнее, какие средства СУБД?


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


Потому, что люблю этот форум со времен изучения Delphi)


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

ага [6]. и еще раз [22]


pest   (2010-06-08 15:05:00) [38]


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

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


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


> Медвежонок Пятачок ©   (08.06.10 15:00) [20]

[6] еще раз... :)


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

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

Напиши такую программу а затем поставь в какое нибудь ООО/ИЧП

Затем рассказывай им про создание ролей, групп и раздачу грантов.
А из ит специалистов там студент приходящий раз в месяц да тетушка - специалист по косынке.

Всесь энтузазизм и запал сразу потухнет.


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

Наверх

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