|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
Мужики, чет озарение покинуло. в IBE коннекчусь с логином SYSDBA без роли. В триггере Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
если раскомментировать среднее условие, то получаю своими граблями по лбу при попытке удаления записи. Код: html 1. 2. 3. 4. 5. 6.
зы. роль в базе есть и ей даны все права на все Как бы поправить? ================= Док. Win7 Ultim x64, Deb 7.6 i386 (Deb 8.3 i386): FB 2.5.5.26952, диалект 3, SS(win)/CS(Deb), Lazarus 1.7; FPC 3.1.1, IBX by -Rik- ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 12:51 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
Hello, Док! You wrote on 19 апреля 2016 г. 12:54:09: Док> роль в базе есть и ей даны все права на все выведи в екссепшене значение CURRENT_ROLE Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 12:54 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
Мимопроходящийвыведи в екссепшене значение CURRENT_ROLE честно, не догнал. Можно пальцем на примере показать? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 13:00 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
Hello, Док! You wrote on 19 апреля 2016 г. 13:02:48: Док> честно, не догнал. Можно пальцем на примере показать? THEN EXCEPTION A1_NONADMIN_CANT_DELETE_RECORD 'CURRENT_ROLE = '||CURRENT_ROLE; Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 13:04 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
Док, коннектишься с CURRENT_USER = 'SYSDBA', CURRENT_ROLE = 'NONE' Вычисляем условия: 1. (CURRENT_ROLE <> 'NONE') OR (CURRENT_USER <> 'SYSDBA') ('NONE' <> 'NONE') OR ('SYSDBA' <> 'SYSDBA') FALSE OR FALSE FALSE 2. (CURRENT_ROLE <> 'NONE') OR (CURRENT_ROLE <> 'ADMINISTR') OR (CURRENT_USER <> 'SYSDBA') ('NONE' <> 'NONE') OR ('NONE' <> 'ADMINISTR') OR ('SYSDBA' <> 'SYSDBA') FALSE OR TRUE OR FALSE TRUE ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 13:07 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
Док, Давай от противного. Сначала сформулируй критерий когда менять данные разрешается, а потом или сверху навесь NOT; лии потом руками инвертируй операторы Предполагаю, что твой критерий - менять можно если "или пользователь SYSDBA, или пользователь с ролью ADMINISTR" И тогда Код: sql 1. 2. 3. 4. 5.
Инвертор 1: Код: sql 1. 2. 3. 4. 5.
Инвертор 2: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 13:12 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
кстати, почему CURRENT_USER выше подсвечивается, а CURRENT_ROLE - нет? Похоже в форуме в скриптх надо список кючевх слов освежить ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 13:15 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
ох, не зря я НЕ математикой на жизнь зарабатываю! Спасибо, щас помозгую. зы. про способ, указанный МП, вообще первый раз вижу. Еще раз спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 13:17 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
Hello, Arioch! You wrote on 19 апреля 2016 г. 13:16:49: Arioch> Похоже в форуме в скриптх надо список кючевх слов освежить оставь надежду всяк сюда входящий (с) движок форума написан "кусками" разными людьми в разное время. править просто некому. (а владелец сайта сам не в состоянии) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 13:19 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
Arioch, считаешь CURRENT_USER может быть NULL? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 13:22 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
Да если по докам и ROLE не должен быть Но сегодня одна схема аутентификации, а завтра другая, сегодя одни плагины - завтра другие. Хуже - не будет, а лучше - возможно ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 13:47 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
Кстати, переконнектился в ролью 'ADMINISTR'. В селекте в IBE Код: sql 1. 2.
в isql то же Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Ы? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 13:50 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
Док, Да, заметь, в моем триггере если пользователь SYSDBA, то его роль уже не проверяют - незачем, его имя в сервер жестко вшито но если хочешь. можешь переписать исходную проверку типа Код: sql 1. 2.
И дальше по бразцу. Но я в этом смысла не вижу ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 13:50 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
Док, ч.т.д. SYSDBA - hardcoded, ключевое слово по факту если ты в него залогинился ,то вся аутентификация ,все проверки прав просто отключаются, как будто их и не было никогда, как в embedded соответственно и механизм ролей, видимо, тоже отключается вместе с ними для гарантии, что у sysdba бyдут все права sysdba без навязанных ролью ограничений ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 13:52 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
Мимопроходящийдвижок форума написан "кусками" разными людьми в разное время. править просто некому. Дык тут же не код править, а найти константный массив со словом CURRENT_USER и добавить в него же CURRENT_ROLE ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 13:53 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
ДокКстати, переконнектился в ролью 'ADMINISTR'. В селекте в IBE Код: sql 1. 2.
в isql то же Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Ы? баян. До 3.0 isql выводит после логина эхо введённых параметров. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 13:54 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
AriochSYSDBA - hardcoded, ключевое слово по факту если ты в него залогинился ,то вся аутентификация ,все проверки прав просто отключаются, как будто их и не было никогда, как в embeddedВчерашний бред продолжается... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 14:49 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
ДокКстати, переконнектился в ролью 'ADMINISTR'. В селекте в IBE Код: sql 1. 2.
в isql то же Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Ы? А ты её грантовал SYSDBA'у ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 14:51 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
Симонов ДенисДо 3.0 isql выводит после логина эхо введённых параметров.Это show user выводит эхо, а у Дока - честные селекты ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 14:51 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
hvlad, я про то что выводится сразу после connect ДокSQL> connect "d:\temp\ARMDOC_5000_UNICODE.FDB" CON> user 'SYSDBA' password 'cooladmin' role 'ADMINISTR'; Database: "d:\temp\ARMDOC_5000_UNICODE.FDB", User: SYSDBA, Role: ADMINISTR ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 15:04 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
hvladА ты её грантовал SYSDBA'у ? Хм, а разве так можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 20:09 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
Фуф, а решение на поверхности лежало Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2016, 00:03 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
ДокhvladА ты её грантовал SYSDBA'у ? Хм, а разве так можно? Нужно. Если нужно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2016, 01:48 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
hvlad, "О, сколько нам открытий чудных ..." (с) Спасибо всем за участие, проблема решена. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2016, 08:08 |
|
Поможите с булевой логикой
|
|||
---|---|---|---|
#18+
ДокФуф, а решение на поверхности лежало Код: sql 1. 2. 3. 4.
а теперь вопрос :-) чем это - нy кpоме замены AND на вложенный IF - отличается от AriochИнвертор 2: Код: sql 1. 2. 3. 4. 5.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2016, 18:00 |
|
|
start [/forum/topic.php?fid=40&msg=39219676&tid=1562215]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 278ms |
total: | 426ms |
0 / 0 |