|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
Подскажите пожалуйста, как лучше поступать. Разрабатывается некоторая система (СУБД Оракл 10g), в которой необходимо будет регистрировать, каким пользователем был создан/изменен то или иной документ, а также разграничивать некоторые полномочия на создание/редактирование документов и просмотр отчетных данных. В общем, стандартный набор... Так вот, на каком уровне лучше заводить пользователей - как пользователя БД, или же создать специальную табличку пользователей и уже разруливать все полномочия на уровне этих "табличных пользователей" ??? Заранее благодарен ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2009, 08:56 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
Tolanius, если WEB-приложение, то проще свою систему прав, если двухзвенку, то лучше на стандартную безпасность. Это так, вообщем. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2009, 09:47 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
Табличные пользователи все равно будут нужны. Поэтому отталкиваться надо от них, ИМХО. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2009, 10:18 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
Tolanius, Отталкивайтесь от пароля. Кто будет его спрашивать и где он будет хранится. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2009, 20:14 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
Tolanius, Зависит от задач аутентификации пользователя, но в основном предпочитают заводить пользователей в отдельной табличке - функционал проще наращивать, админа по пустякам не дергать и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 13:02 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
vvp11, А как реализовать аварийное отключение юзера? Напривер завис комп или разорвалась связь. Пользователь так и останется в таблице? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 13:30 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
skmdevelopervvp11, А как реализовать аварийное отключение юзера? Напривер завис комп или разорвалась связь. Пользователь так и останется в таблице? Не очень понял термин "пользователь так и останется в таблице". Вы имеете ввиду блокировку таблицы или что? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 14:13 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
vvp11админа по пустякам не дергать и т.п. неверно думать, что Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 14:20 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
vvp11Не очень понял термин "пользователь так и останется в таблице". Видимо человек решил что обсуждается тема "где и как хранить пользовательские сессии". Кстати, те кто предлагают систему на базе пользователей БД, есть ли при такой схеме возможность назначить ограничения на уровне конкретных записей, например? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 14:23 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
Petro123, тогда ИС должна работать под админской учетной записью:) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 14:52 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
vvp11Petro123, тогда ИС должна работать под админской учетной записью:) админ админу рознь. Даже если называются одинаково. Можно дать права создавать, но без права коннекта и т.д. т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 15:51 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
OZKA Кстати, те кто предлагают систему на базе пользователей БД, есть ли при такой схеме возможность назначить ограничения на уровне конкретных записей, например? Есть. View, доступ через процедуры, FGAC (fine grade access control) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 16:33 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
vvp11 тогда ИС должна работать под админской учетной записью:) Во-первых, для создания пользователя достаточно иметь определенную системную привилегию, не более того. Во-вторых, многие не шибко сведующие в Oracle, путают роль DBA и системную привилегию SYSDBA. Вроде как и того и другого можно назвать админом (хотя бы условно), но возможности совершенно разные :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 16:36 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
tru55 Во-первых, для создания пользователя достаточно иметь определенную системную привилегию, не более того. Чтобы пользователь потом еще куда-то смог ходить, ему надо дать grant, на что тоже надо иметь определенную системную привилегию, а в системе может быть много схем и т.п. Ну и в любом случае, не пользователь же будет себе права давать, значит необходим прикладной админ. А ему, что с Manager работать, что с вашей ИС, без разницы. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 17:33 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
vvp11tru55 Во-первых, для создания пользователя достаточно иметь определенную системную привилегию, не более того. Чтобы пользователь потом еще куда-то смог ходить, ему надо дать grant, на что тоже надо иметь определенную системную привилегию, а в системе может быть много схем и т.п. Ну и в любом случае, не пользователь же будет себе права давать, значит необходим прикладной админ. А ему, что с Manager работать, что с вашей ИС, без разницы. Если мы работаем с пользователями на уровне БД, мы один раз заводим/раздаем гранты и проч. Если мы работаем с прикладными таблицами, мы это делаем и на уровне БД, и второй раз на уровне этих таблиц. Если мы работаем с таблицами через процедуры, достаточно собрать их в одной схеме и выдавать гранты на EXECUTE этих пакетов от имени владельца (так, например, сделано с пользовательскими расширениями в OeBS) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 17:44 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
Вообще, самое правильное, чтобы юзеры заводились в домен организации, там включались в нужные группы. Авторизация в ERP должна идти через доменную авторизацию, внутри в ERP (и прочих учетках) юзеров быть не должно - права на уровне СУБД. А СУБД должна быть настроена на юзеров из домена, а не внутренних. Тогда администрирование юзеров всей конторы делается 1 раз на каждое событие - при приеме на работу ->при переназначении должностей-полномочий ->при увольнении. Сразу для всех систем конторы от почты, файлопомойки, печати на большой gestetner до ERP, CRM, отчетности, SCM, корпоративного банкинга и порталов работы с внешними организациями. Мы у себя этого почти добились. Все-таки в реальности сталкиваешься с "зоопарком", и тогда приходится идти на компромиссы. Например, вот что делать, если одна из систем использует авторизацию на уровне юзера linux ? Героически добавлять сервер под linux в лес AD ? Или делать скрипт на tcl, периодически сравнивающий юзеров в linux с доменными и прибивающий уволенных ? Или написать правило на Exchange-сервере, которое отбирает письма на отдел кадров со словами в заголовке типа "увольнение, прием, новый человек ..." и пересылающие их админу AD, по совместительству - админу linux ? Или вот еще. Что делать, если некая система в качестве СУБД юзает MySQL ? Тут с доменной авторизацией как-то через ж№;", пардон, через Tomcat только можно (это если система на Java). Короче, совет ТС. Хорошо продумайте сценарий интеграции вашей нетленки в "зоопарк" конторы. Иначе будете икать долго, когда админы вас будут поминать нэзлым тыхым словом. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 23:17 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
Вообще вопрос систематически, но может быть с разных сторон, возникает при разработке ИС и в том числе и на на sql.ru обсуждался Вот замеченное в последнее время (хоть и SQL Server, но для других СУБД в общем аналогично) Журналирование изменений данных Что касается доступа наверно три уровня - уровень ОС (сисадмин), уровень ролей СУБД (DBA), уровень интерфейсов приложения (админ ИС - из числа пользователей ИС, неспециалист в IT). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2009, 02:30 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
tru55 Если мы работаем с пользователями на уровне БД, мы один раз заводим/раздаем гранты и проч. Если мы работаем с прикладными таблицами, мы это делаем и на уровне БД, и второй раз на уровне этих таблиц. Если мы работаем с таблицами через процедуры, достаточно собрать их в одной схеме и выдавать гранты на EXECUTE этих пакетов от имени владельца (так, например, сделано с пользовательскими расширениями в OeBS) Никто не запрещает создать нам один раз пользователя БД, раздать ему права и всю работу вести под ним, заводя новые учетные записи уже в приложении, т.е. использовать вариант "табличной" аутентификации. strizhВообще, самое правильное, чтобы юзеры заводились в домен организации, там включались в нужные группы. Авторизация в ERP должна идти через доменную авторизацию, внутри в ERP (и прочих учетках) юзеров быть не должно - права на уровне СУБД. А СУБД должна быть настроена на юзеров из домена, а не внутренних. Если смотреть с точки зрения выстраивания информационной инфраструктуры - вы абсолютно правы. А вот будет ли это удобнее для автора - вопрос. Ну и организовать такое более менее нормально не на всех платформах возможно, т.е. в случае "зоопарка" - это не спасет. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2009, 00:15 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
OZKA, Можно VPD использовать (virtual private database). Во втором томе Тома Кайта хорошо расписаны ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2009, 08:36 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
strizhВообще, самое правильное, чтобы юзеры заводились в домен организации, там включались в нужные группы. Я бы не стал так категорично утверждать. Например продавцов в торговом зале или кладовщиков, у которых нет своего компьютера и они могут на любов свободном (в зале или на складе) зайти в систему - посмотреть остаток товара или отгрузку сделать тоже заводить? И на каждый чих перелогин делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2009, 15:58 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
IgorKstrizhВообще, самое правильное, чтобы юзеры заводились в домен организации, там включались в нужные группы. Я бы не стал так категорично утверждать. Например продавцов в торговом зале или кладовщиков, у которых нет своего компьютера и они могут на любов свободном (в зале или на складе) зайти в систему - посмотреть остаток товара или отгрузку сделать тоже заводить? И на каждый чих перелогин делать? Гм. Вы путаете процесс авторизации юзера и процесс добавления его как юзера в систему. Авторизоваться в учетной системе юзер, при условии что он введен в домен и в учетку как юзер домена, может как вводя логин вида домен\логин и свой доменный пароль, так и используя виндовую авторизацию. Для учетных систем, особенно с веб-интерфейсом, делают первый вариант авторизации более приоритетным. 1С 8.2, к примеру, если юзер вошел в домен, то толстый клиент автоматически делает виндовую авторизацию. И MS CRM тоже, если юзер вошел в домен, то будет автоматическая виндовая авторизация в веб-интерфейсе, а если не вошел, или вошел в другой домен - то ему прийдется, всего-лишь, ввести имя-пароль. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2009, 16:46 |
|
Пользователи в БД или в таблицах
|
|||
---|---|---|---|
#18+
strizh Гм. Вы путаете процесс авторизации юзера и процесс добавления его как юзера в систему. Авторизоваться в учетной системе юзер, при условии что он введен в домен и в учетку как юзер домена, может как вводя логин вида домен\логин и свой доменный пароль, так и используя виндовую авторизацию. Для учетных систем, особенно с веб-интерфейсом, делают первый вариант авторизации более приоритетным. 1С 8.2, к примеру, если юзер вошел в домен, то толстый клиент автоматически делает виндовую авторизацию. И MS CRM тоже, если юзер вошел в домен, то будет автоматическая виндовая авторизация в веб-интерфейсе, а если не вошел, или вошел в другой домен - то ему прийдется, всего-лишь, ввести имя-пароль. есть опыт удобства такой схемы в случаях зоопарка, или Oracl'a в связке с AD? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2009, 14:30 |
|
|
start [/forum/topic.php?fid=33&msg=36362020&tid=1548407]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
78ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 327ms |
total: | 489ms |
0 / 0 |