|
|
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, у меня есть БД (firebird) и программа на c++builder, использую компоненты из вкладки Interbase, требуется сделать многопользовательский доступ. Я могу конечно создать пользователей в IBExpert и назначить им права и юзеры будут заходить через login promt, но тогда в приложении будут вылетать сообщения типа no permissions, а можно ли сделать так чтобы при входе в программу, некоторые кнопки и другие элементы управления были не активны, а какие-то активны т.е. настроить доступ на уровне приложения? Помогите советом пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2013, 19:45:39 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
asupviking, А C++ тут при чем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2013, 20:49:53 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
MasterZivА C++ тут при чем? Он, типа, не знает как в С++ при вызове Prepare поймать исключение EIBError, распознать ошибку недостающих прав и запретить соответствующие кнопки. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2013, 21:08:24 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Так может его передать в ласковые руки наших коллег-специалистов по Firebird? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2013, 22:43:25 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
MasterZivТак может его передать в ласковые руки наших коллег-специалистов по Firebird? Не-не-не, он на другой стороне коннекта. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2013, 23:17:44 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Передать-передать! asupviking, Тебе надо либо: 1) завести специальную таблицу в которой прописывать юзер А может делать кнопки 1-2-3, а юзер Б может жать кнопки 1-4-5. 2) Читать разрешения на таблицах/колонка/объектах и соответственно включать-выключать кнопки. Все. Ну еще бывает комбинация этих двух подходов. К С++ задача не относится вообще. Модератор: Тема перенесена из форума "C++". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 01:41:37 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Надо помедитировать про роли... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 06:09:10 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
asupvikingЯ могу конечно создать пользователей в IBExpert и назначить им праваДык так и делай. asupvikingюзеры будут заходить через login promtВообще-то не обязательно. asupvikingбудут вылетать сообщения типа no permissionsКак уже сказал выше DS курить про перехват исключений. А лучше заранее скрывать (например Enabled false), чтоб у исключения не было шансов возникнуть. asupvikingможно ли сделать так чтобы при входе в программу, некоторые кнопки и другие элементы управления были не активны, а какие-то активныНу тут без программиста не обойтись! :) Билдер традиционно обсуждают в дельфовом разделе, если вопросов по файрберду больше нет, то я перенесу топик в раздел дельфи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 08:33:35 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Ivan_PisarevskyКак уже сказал выше DS курить про перехват исключений. А лучше заранее скрывать (например Enabled false), чтоб у исключения не было шансов возникнуть. Ну вообще-то конечно можно тривиальным запросом проверить, а есть ли права на обьект и запретить кнопочки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 13:07:57 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Hello, DarkMaster! You wrote on 22 ноября 2013 г. 17:25:20: DarkMaster> Ну вообще-то конечно можно тривиальным запросом проверить, > а есть ли права на обьект и запретить кнопочки. у нас для этих целей есть спецтаблички в базе и компонент спецательный на форме, который лезет в базу автоматом и дизаблит/скрывает нужные компоненты(менюшки, акции, батоны и т.д.) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 17:28:09 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, "Аналогично!" (с) "Следствие ведут Колобки". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 18:04:33 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
"Аналогично!" (с) Только без компонента, обычные процедуры. Предлагаю поделиться/сравнить метаданные. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 19:10:03 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 19:15:20 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Спасибо, похоже. Роли/группы совсем не используются? Или только при назначении прав? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 19:57:34 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамСпасибо, похоже. Роли/группы совсем не используются? Или только при назначении прав? У нас корневым запросом служит примерно такой: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. Соответственно проверяется весь набор прав, которые в строке. Если надо конкретно одно - передаем одно. Проверку существования обьектов и пользователей не производим, ибо попахивает маразмом (если юзерь не тот - фиг он вообще приконектится, а если обьекта нет - тут уже попахивает попыткой манипулирования сферическим конем в ваккуме). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 20:49:40 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Спасибо. DarkMaster> checkpriv = строка вида "S,I,u,D,E" в зависимости DarkMaster> от набора прав, которые нужно проверить DarkMaster> ... DarkMaster> Соответственно проверяется весь набор прав, которые в строке У меня больше похоже на вариант МП - в админке галочки для S/I/U/D (я всегда разделяю I, U, D, хотя видел реализации, где I отдельно, а U и D объединены - негибко, при сопровождении потом проблемы возникнут). А в "клиенте" уже не галочки проверяются, а запрашиваются права на конкретный объект для конкретного пользователя (V, E, RO). Checked у меня нет, как-то надобности не было (для чего оно, кстати?). P.S. Плюс у меня app-level security, а у МП - нативная. У тебя какая? И есть ли у тебя группы/роли и как они используются, если есть? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 21:38:24 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Спасибо за советы, только я ничего не понял, нельзя ли как-нибудь попроще? Допустим у меня будут использоваться 4 роли: SYSDBA(полные права) и 3 роли (менеджер продаж, инженер ДБ, цеховой работник) с ограниченными правами. Если пользователи будут заходить через login promt можно ли в приложении узнать какой пользователь зашёл и его роль? Если можно, то я просто ненужные контролы поставлю в disabled и делу конец. Тогда вопрос есть ли возможность узнать из приложения какой польз-ль вошёл и его роль? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2013, 14:43:37 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
asupvikingесть ли возможность узнать из приложения какой польз-ль вошёл и его роль? Имя пользователя и пароль указываются при коннекте к базе. Те, кто не ведает что творит, могут получить их позже через select current_user, current_role. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2013, 14:48:03 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, вот это уже интереснее, спасибо, завтра попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2013, 21:38:43 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Делаю запрос, Код: sql 1. имя пользователя выводит нормально, а роль выводит "NONE" и так у всех пользователей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2013, 09:46:37 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Значит либо не указываешь роль при коннекте, либо у пользователя нет на неё прав. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2013, 10:11:08 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамУ меня больше похоже на вариант МП - в админке галочки для S/I/U/D (я всегда разделяю I, U, D, хотя видел реализации, где I отдельно, а U и D объединены - негибко, при сопровождении потом проблемы возникнут). А в "клиенте" уже не галочки проверяются, а запрашиваются права на конкретный объект для конкретного пользователя (V, E, RO). Ну дык у меня строка для проверки тоже на клиенте формируется. И запрос идет для пары юзер/роль + обьект. Гаджимурадов РустамChecked у меня нет, как-то надобности не было (для чего оно, кстати?). У меня checkpriv - это и есть строка с проверяемыми правами - 'SIUDE'. Гаджимурадов РустамИ есть ли у тебя группы/роли и как они используются, если есть? Если есть роль - проверяется она, иначе пользователь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2013, 13:09:05 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, сделал вот как: Код: sql 1. - текущий пользователь, Код: sql 1. 2. - роль пользователя, спасибо всем, задача решена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2013, 14:45:22 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
asupvikingроль выводит "NONE" и так у всех пользователей. Еще надо задать соответствие юзеров ролям, а роль NONE свидетельствует о том, что указанная при коннекте роль не узнана сервером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2013, 17:57:00 |
|
||
|
Firebird и многопользовательский доступ
|
|||
|---|---|---|---|
|
#18+
Hello, Fr0sT-Brutal! You wrote on 25 ноября 2013 г. 18:01:26: Fr0sT-Brutal> а роль NONE свидетельствует о том, что указанная при коннекте роль не > узнана сервером. не задана ваще. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2013, 18:02:23 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=108&tid=1564108]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
79ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 397ms |

| 0 / 0 |
