Гость
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Пользователи в БД или в таблицах / 23 сообщений из 23, страница 1 из 1
10.12.2009, 08:56
    #36358195
Tolanius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
Подскажите пожалуйста, как лучше поступать.
Разрабатывается некоторая система (СУБД Оракл 10g), в которой необходимо будет регистрировать, каким пользователем был создан/изменен то или иной документ, а также разграничивать некоторые полномочия на создание/редактирование документов и просмотр отчетных данных. В общем, стандартный набор...
Так вот, на каком уровне лучше заводить пользователей - как пользователя БД, или же создать специальную табличку пользователей и уже разруливать все полномочия на уровне этих "табличных пользователей" ???

Заранее благодарен
...
Рейтинг: 0 / 0
10.12.2009, 09:47
    #36358292
Infernal V. Raven
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
Tolanius,

если WEB-приложение, то проще свою систему прав, если двухзвенку, то лучше на стандартную безпасность.
Это так, вообщем.
...
Рейтинг: 0 / 0
10.12.2009, 10:18
    #36358363
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
Табличные пользователи все равно будут нужны. Поэтому отталкиваться надо от них, ИМХО.
...
Рейтинг: 0 / 0
10.12.2009, 20:14
    #36359930
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
Tolanius,

Отталкивайтесь от пароля. Кто будет его спрашивать и где он будет хранится.
...
Рейтинг: 0 / 0
11.12.2009, 13:02
    #36361088
vvp11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
Tolanius,
Зависит от задач аутентификации пользователя, но в основном предпочитают
заводить пользователей в отдельной табличке - функционал проще наращивать,
админа по пустякам не дергать и т.п.
...
Рейтинг: 0 / 0
11.12.2009, 13:30
    #36361202
skmdeveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
vvp11, А как реализовать аварийное отключение юзера? Напривер завис комп или разорвалась связь. Пользователь так и останется в таблице?
...
Рейтинг: 0 / 0
11.12.2009, 14:13
    #36361349
vvp11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
skmdevelopervvp11, А как реализовать аварийное отключение юзера? Напривер завис комп или разорвалась связь. Пользователь так и останется в таблице?
Не очень понял термин "пользователь так и останется в таблице".
Вы имеете ввиду блокировку таблицы или что?
...
Рейтинг: 0 / 0
11.12.2009, 14:20
    #36361378
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
vvp11админа по пустякам не дергать и т.п.
неверно думать, что
Код: plaintext
CREATE USER Маша
может делать только админ, а не ИС
...
Рейтинг: 0 / 0
11.12.2009, 14:23
    #36361386
OZKA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
vvp11Не очень понял термин "пользователь так и останется в таблице".

Видимо человек решил что обсуждается тема "где и как хранить пользовательские сессии".

Кстати, те кто предлагают систему на базе пользователей БД, есть ли при такой схеме возможность назначить ограничения на уровне конкретных записей, например?
...
Рейтинг: 0 / 0
11.12.2009, 14:52
    #36361488
vvp11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
Petro123,

тогда ИС должна работать под админской учетной записью:)
...
Рейтинг: 0 / 0
11.12.2009, 15:51
    #36361705
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
vvp11Petro123,

тогда ИС должна работать под админской учетной записью:)
админ админу рознь.
Даже если называются одинаково.

Можно дать права создавать, но без права коннекта и т.д. т.п.
...
Рейтинг: 0 / 0
11.12.2009, 16:33
    #36361838
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
OZKA
Кстати, те кто предлагают систему на базе пользователей БД, есть ли при такой схеме возможность назначить ограничения на уровне конкретных записей, например?

Есть. View, доступ через процедуры, FGAC (fine grade access control)
...
Рейтинг: 0 / 0
11.12.2009, 16:36
    #36361844
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
vvp11
тогда ИС должна работать под админской учетной записью:)

Во-первых, для создания пользователя достаточно иметь определенную системную привилегию, не более того.
Во-вторых, многие не шибко сведующие в Oracle, путают роль DBA и системную привилегию SYSDBA. Вроде как и того и другого можно назвать админом (хотя бы условно), но возможности совершенно разные :))
...
Рейтинг: 0 / 0
11.12.2009, 17:33
    #36362020
vvp11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
tru55
Во-первых, для создания пользователя достаточно иметь определенную системную привилегию, не более того.

Чтобы пользователь потом еще куда-то смог ходить, ему надо дать grant, на что тоже надо иметь определенную системную привилегию, а в системе может быть много схем и т.п.
Ну и в любом случае, не пользователь же будет себе права давать, значит необходим прикладной админ. А ему, что с Manager работать, что с вашей ИС, без разницы.
...
Рейтинг: 0 / 0
11.12.2009, 17:44
    #36362052
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
vvp11tru55
Во-первых, для создания пользователя достаточно иметь определенную системную привилегию, не более того.

Чтобы пользователь потом еще куда-то смог ходить, ему надо дать grant, на что тоже надо иметь определенную системную привилегию, а в системе может быть много схем и т.п.
Ну и в любом случае, не пользователь же будет себе права давать, значит необходим прикладной админ. А ему, что с Manager работать, что с вашей ИС, без разницы.

Если мы работаем с пользователями на уровне БД, мы один раз заводим/раздаем гранты и проч. Если мы работаем с прикладными таблицами, мы это делаем и на уровне БД, и второй раз на уровне этих таблиц.
Если мы работаем с таблицами через процедуры, достаточно собрать их в одной схеме и выдавать гранты на EXECUTE этих пакетов от имени владельца (так, например, сделано с пользовательскими расширениями в OeBS)
...
Рейтинг: 0 / 0
11.12.2009, 23:17
    #36362476
strizh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
Вообще, самое правильное, чтобы юзеры заводились в домен организации, там включались в нужные группы.
Авторизация в ERP должна идти через доменную авторизацию, внутри в ERP (и прочих учетках)
юзеров быть не должно - права на уровне СУБД. А СУБД должна быть настроена на юзеров из
домена, а не внутренних.
Тогда администрирование юзеров всей конторы делается 1 раз на каждое событие - при приеме
на работу ->при переназначении должностей-полномочий ->при увольнении.
Сразу для всех систем конторы от почты, файлопомойки, печати на большой gestetner до ERP,
CRM, отчетности, SCM, корпоративного банкинга и порталов работы с внешними организациями.
Мы у себя этого почти добились. Все-таки в реальности сталкиваешься с "зоопарком", и тогда
приходится идти на компромиссы. Например, вот что делать, если одна из систем использует
авторизацию на уровне юзера linux ? Героически добавлять сервер под linux в лес AD ? Или
делать скрипт на tcl, периодически сравнивающий юзеров в linux с доменными и прибивающий
уволенных ? Или написать правило на Exchange-сервере, которое отбирает письма на отдел
кадров со словами в заголовке типа "увольнение, прием, новый человек ..." и пересылающие их
админу AD, по совместительству - админу linux ?
Или вот еще. Что делать, если некая система в качестве СУБД юзает MySQL ? Тут с доменной
авторизацией как-то через ж№;", пардон, через Tomcat только можно (это если система на Java).

Короче, совет ТС. Хорошо продумайте сценарий интеграции вашей нетленки в "зоопарк" конторы.
Иначе будете икать долго, когда админы вас будут поминать нэзлым тыхым словом.
...
Рейтинг: 0 / 0
12.12.2009, 02:30
    #36362656
Пилотажный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
Вообще вопрос систематически, но может быть с разных сторон, возникает при разработке ИС
и в том числе и на на sql.ru обсуждался
Вот замеченное в последнее время (хоть и SQL Server, но для других СУБД в общем аналогично)
Журналирование изменений данных

Что касается доступа наверно три уровня - уровень ОС (сисадмин), уровень ролей СУБД (DBA), уровень интерфейсов приложения (админ ИС - из числа пользователей ИС, неспециалист в IT).
...
Рейтинг: 0 / 0
13.12.2009, 00:15
    #36363159
vvp11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
tru55
Если мы работаем с пользователями на уровне БД, мы один раз заводим/раздаем гранты и проч. Если мы работаем с прикладными таблицами, мы это делаем и на уровне БД, и второй раз на уровне этих таблиц.
Если мы работаем с таблицами через процедуры, достаточно собрать их в одной схеме и выдавать гранты на EXECUTE этих пакетов от имени владельца (так, например, сделано с пользовательскими расширениями в OeBS)

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

strizhВообще, самое правильное, чтобы юзеры заводились в домен организации, там включались в нужные группы.
Авторизация в ERP должна идти через доменную авторизацию, внутри в ERP (и прочих учетках)
юзеров быть не должно - права на уровне СУБД. А СУБД должна быть настроена на юзеров из
домена, а не внутренних.

Если смотреть с точки зрения выстраивания информационной инфраструктуры - вы абсолютно правы.
А вот будет ли это удобнее для автора - вопрос. Ну и организовать такое более менее нормально не на всех платформах возможно, т.е. в случае "зоопарка" - это не спасет.
...
Рейтинг: 0 / 0
15.12.2009, 08:36
    #36366251
Tolanius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
OZKA,

Можно VPD использовать (virtual private database). Во втором томе Тома Кайта хорошо расписаны
...
Рейтинг: 0 / 0
18.12.2009, 15:58
    #36374197
IgorK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
strizhВообще, самое правильное, чтобы юзеры заводились в домен организации, там включались в нужные группы.
Я бы не стал так категорично утверждать. Например продавцов в торговом зале или кладовщиков, у которых нет своего компьютера и они могут на любов свободном (в зале или на складе) зайти в систему - посмотреть остаток товара или отгрузку сделать тоже заводить? И на каждый чих перелогин делать?
...
Рейтинг: 0 / 0
18.12.2009, 16:46
    #36374373
strizh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
IgorKstrizhВообще, самое правильное, чтобы юзеры заводились в домен организации, там включались в нужные группы.
Я бы не стал так категорично утверждать. Например продавцов в торговом зале или кладовщиков, у которых нет своего компьютера и они могут на любов свободном (в зале или на складе) зайти в систему - посмотреть остаток товара или отгрузку сделать тоже заводить? И на каждый чих перелогин делать?

Гм. Вы путаете процесс авторизации юзера и процесс добавления его как юзера в систему. Авторизоваться в учетной системе юзер, при условии что он введен в домен и в учетку как юзер домена, может как вводя логин вида домен\логин и свой доменный пароль, так и используя виндовую авторизацию.
Для учетных систем, особенно с веб-интерфейсом, делают первый вариант авторизации более приоритетным. 1С 8.2, к примеру, если юзер вошел в домен, то толстый клиент автоматически делает виндовую авторизацию. И MS CRM тоже, если юзер вошел в домен, то будет автоматическая виндовая авторизация в веб-интерфейсе, а если не вошел, или вошел в другой домен - то ему прийдется, всего-лишь, ввести имя-пароль.
...
Рейтинг: 0 / 0
19.12.2009, 14:30
    #36375315
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
strizh
Гм. Вы путаете процесс авторизации юзера и процесс добавления его как юзера в систему. Авторизоваться в учетной системе юзер, при условии что он введен в домен и в учетку как юзер домена, может как вводя логин вида домен\логин и свой доменный пароль, так и используя виндовую авторизацию.
Для учетных систем, особенно с веб-интерфейсом, делают первый вариант авторизации более приоритетным. 1С 8.2, к примеру, если юзер вошел в домен, то толстый клиент автоматически делает виндовую авторизацию. И MS CRM тоже, если юзер вошел в домен, то будет автоматическая виндовая авторизация в веб-интерфейсе, а если не вошел, или вошел в другой домен - то ему прийдется, всего-лишь, ввести имя-пароль.
есть опыт удобства такой схемы в случаях зоопарка, или Oracl'a в связке с AD?
...
Рейтинг: 0 / 0
20.12.2009, 17:57
    #36376483
strizh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользователи в БД или в таблицах
С Ораклом не работаем вообще.

В нашем зоопарке MS SQL, PostgreSQL, MySQL, Progress.
Авторизация в системах на первых двух СУБД через AD - очень удобна. На остальных - пока невозможна.
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Пользователи в БД или в таблицах / 23 сообщений из 23, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]