Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
22.08.2018, 18:37
|
|||
---|---|---|---|
|
|||
Свой "current_user"?.. |
|||
#18+
Помогите, пожалуйста! В базе данных создан только один логин . "Пользовательские логины" для входа в программу различаются лишь на уровне таблички "Пользователи", куда внесено имя и выдуманный пользовательский логин. Как можно в триггере распознавать, какой именно пользователь сейчас работает? Создать что-то вроде своего current_user, но чтобы в нем был выдуманный логин. Через current_connection не получится, так как к базе подключена только программа-сервер, она обрабатывает обращения всех пользователей и соединение к базе по-сути одно. Может как-то хитро переменную выставлять через rdb$set_context? Но только тогда пространство имен системное SYSTEM нельзя использовать, а при переподключении к базе переменные исчезают. Как быть? Может кто сталкивался? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.08.2018, 18:42
|
|||
---|---|---|---|
|
|||
Свой "current_user"?.. |
|||
#18+
___Nikolayпри переподключении к базе переменные исчезают. Значит при переподключении к базе надо заново им присвоить значения. В чём проблема-то? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.08.2018, 19:08
|
|||
---|---|---|---|
|
|||
Свой "current_user"?.. |
|||
#18+
Dimitry Sibiryakov, спасибо, попробую! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.08.2018, 21:45
|
|||
---|---|---|---|
Свой "current_user"?.. |
|||
#18+
___Nikolayона обрабатывает обращения всех пользователей и соединение к базе по-сути одно тогда имя пользователя в триггер никак не передать. Ведь разные пользователи работают в одном коннекте, а значит какая-то context-переменная постоянно будет меняться. Или коннекты все-таки разные? Иначе что это за система-то, где всё упирается в один коннект? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.08.2018, 07:31
|
|||
---|---|---|---|
|
|||
Свой "current_user"?.. |
|||
#18+
___NikolayЧерез current_connection не получится, так как к базе подключена только программа-сервер, она обрабатывает обращения всех пользователей и соединение к базе по-сути одно. ну так может и не надо перекладывать эти проблемы на субд, а решать на уровне сервиса? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.08.2018, 09:57
|
|||
---|---|---|---|
|
|||
Свой "current_user"?.. |
|||
#18+
___Nikolay, web? Если да, то для хранения сессионных переменных там обычно используют http сессии которые к БД прямого отношения не имеют. Грубо говоря в web чем меньше лишний раз обращаешься к БД (подключаешься) тем лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.08.2018, 14:22
|
|||
---|---|---|---|
Свой "current_user"?.. |
|||
#18+
Помимо перечисленного, можно также применить подход а-ля Дельфийские методы объекта - первым параметром передавать UserID (как Self). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.08.2018, 14:29
|
|||
---|---|---|---|
Свой "current_user"?.. |
|||
#18+
Можно ещё при подключении занести user_id в поле таблицы GTT (PRESERVE ROWS) а далее сделать ссылку на неё в объектах (SP,triggers etc). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.08.2018, 14:59
|
|||
---|---|---|---|
|
|||
Свой "current_user"?.. |
|||
#18+
AltHasp, это мало чем отличается от контекстных переменных, которые у автора пропадают, потому что соединения с БД не постоянное. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.08.2018, 22:57
|
|||
---|---|---|---|
Свой "current_user"?.. |
|||
#18+
Симонов Денис, у меня 100 лет назад было приложение, в котором user_name передавалось в процедуру. И любые действия с БД производились только процедурами. Поэтому с пониманием user_name никогда проблем не было. У автора проблема проектирования, он, видимо, еще не решил, что делать, но уже из веба или трехзвенки у него в базу лезет только один юзер. И, внезапно, надо чтобы юзер этот "различался" в триггере. Так вот, в ТРИГГЕРЕ он НИКАК различаться не сможет, если только в изменяемой таблице нет столбца "имя юзера" или типа того. Так что, не надо людям давать несбыточные надежды :-) Если они себе сами устроили геморрой, так пусть с ним и борются. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=40&tablet=1&tid=1561010]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
138ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 244ms |
0 / 0 |