|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
Добрый день. Подскажите, как это правильно реализовать, чтобы не пострадала безопасность. В IBExpert есть возможность назначения прав роли, и привязка пользователя к этой роли. Но для работы такой связки при коннекте необходимо указывать логин, пароль, роль. Слишком сложно для еще вчерашних домохозяек. Можно ли каким нибудь образом сделать привязку роли по имеющимся логину и паролю при коннекте к БД? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2016, 14:50 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
привязку сделать нельзя. но можешь предварительно выполнять отдельный коннект специальным "бесправным" юзером и смотреть какая роль грантована нужному юзеру Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2016, 14:59 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
offsites, если тебе не нужны роли, т тбе не нужны роли роли были придуманны именно затем, чтобы у одного пользователя были разные профили безопасности но если тебе не нужно этого, если тебе нужно чтобы у пользователя был только один набор разрешений - то не нужно для него и заводить "любимую" роль - просто давай все нужные разрешения ему напрямую и живи без ролей. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2016, 15:02 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
offsites, Для многопользовательских решений удобнее раздавать права роли, а потом роль грантовать пользователю (меньше записей в системных таблицах + намного меньше путаницы). К тому же пользователю можно назначить 2-3-100500 ролей.. Стандартное решение - при коннекте просить имя+пароль+давать возможность выбора из списка грантованных ролей. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2016, 16:11 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
DarkMasterСтандартное решение - при коннекте просить имя+пароль+давать возможность выбора из списка грантованных ролей. ... соответственно, если роль назначена только одна, твое приложение может подставить ее самостоятельно, не утруждая этим пользователя. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2016, 16:20 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
miwaonline, в тройке определить эту роль после коннекта и установить её, без последующего переконнекта. См. оператор SET ROLE ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2016, 17:01 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
Симонов Денис, а в 2.5 аналог SET ROLE имеется? Хоть убейте, не могу понять, почему есть пользователи, есть роли, есть привязка между ними, но нифига не работает (пробую в IBExpert)! Нужно еще роль задавать явно, или выкручиваться. Может есть способ все же средствами IBExpert'a это сделать? Пользователей много. Не хочется каждому человеку вбивать одни и те же права на каждую таблицу. Разбить их на группы-роли и потом только добавлять юзверя в группу. Но и мучить пользователей, который по 5 минут ищут букву на клавиатуре, указанием еще и роли (группы), не хочется. Если по человечески привязка не работает, тогда алгоритм вижу таким: 1. Коннектимся логином паролем 2. В событии ib_connect каким-то макаром делаем SET ROLE = ( SELECT UserRoleValue FROM MyTableUsers WHERE UserLogin = RDB$CURRENT_USER) Такое бывает? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 01:03 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
offsites Разбить их на группы-роли и потом только добавлять юзверя в группу. роли - это НЕ группы, а строго ПРОТИВОПОЛОЖНАЯ группам вещь группы нужны чтобы складывать права. а роли - чтобы вычитать права. повторяю: Ariochесли тебе не нужны роли, то тебе не нужны роли роли были придуманны именно затем, чтобы у одного пользователя были разные профили безопасности но если тебе не нужно этого, если тебе нужно чтобы у пользователя был только один набор разрешений - то не нужно для него и заводить "любимую" роль - просто давай все нужные разрешения ему напрямую и живи без ролей. Если тебе нужны роли как просто шаблоны прав, именованные контейнеры готовых полномочий - не вопрос, пользуйся ими так. И сделай три stored procedure 1. получив имя пользователя и имя группыроли процедура, проверив права на группу у пользователя, перебирает все права группы и добавляет такие же права пользователю. Это чисто служебная функция. 2. получив имя пользователя удаляет у него все права, потом перебирает все назначенные ему группыроли и для каждой вызывает процедуру 1. Это будет функция "назначить права пользователю Вася Пупкин" 3. получив имя группыроли перебирает всех ей назначенный пользователей и вызывает функцию 2. Это будет "триггер", который ты будешь вызывать после каждого изменения прав у какоу-нибудь группыроли. Впрочем, устраивать такой abuse ролям имеет смысл только если ты им права назначаешь "врукопашную" через что-то типа IBExpert. Если же ты это делаешь из своей самописной админки сделаннйо для твоей программы - то роли тут вообще не нужны, а в качестве замены групп - именованных контейнеров для готовых наборов прав - вполне сгодятсья специальные пользователи тиа template$user1, template$user2, template$user3 и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 01:30 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
Отлично, чувствую что мне подходит последний вариант, только я не совсем понял о чем идет речь ))) [quot A-rioch]offsites вполне сгодятсья специальные пользователи тиа template$user1, template$user2, template$user3 и т.д. Кто такие эти специальные пользователи? Я идею понял так, что через самописную админку нужно сделать "карту" прав различным группам пользователей, и при назначении им прав этой группы программа сама будет эту "карту" прав заполнять пользователю (ну чтобы каждому галочки руками не тыкать). Так? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 03:35 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
A-riochoffsites Разбить их на группы-роли и потом только добавлять юзверя в группу. роли - это НЕ группы, а строго ПРОТИВОПОЛОЖНАЯ группам вещь группы нужны чтобы складывать права. а роли - чтобы вычитать права. повторяю: Ariochесли тебе не нужны роли, то тебе не нужны роли роли были придуманны именно затем, чтобы у одного пользователя были разные профили безопасности но если тебе не нужно этого, если тебе нужно чтобы у пользователя был только один набор разрешений - то не нужно для него и заводить "любимую" роль - просто давай все нужные разрешения ему напрямую и живи без ролей. Если тебе нужны роли как просто шаблоны прав, именованные контейнеры готовых полномочий - не вопрос, пользуйся ими так. И сделай три stored procedure 1. получив имя пользователя и имя группыроли процедура, проверив права на группу у пользователя, перебирает все права группы и добавляет такие же права пользователю. Это чисто служебная функция. 2. получив имя пользователя удаляет у него все права, потом перебирает все назначенные ему группыроли и для каждой вызывает процедуру 1. Это будет функция "назначить права пользователю Вася Пупкин" 3. получив имя группыроли перебирает всех ей назначенный пользователей и вызывает функцию 2. Это будет "триггер", который ты будешь вызывать после каждого изменения прав у какоу-нибудь группыроли. Впрочем, устраивать такой abuse ролям имеет смысл только если ты им права назначаешь "врукопашную" через что-то типа IBExpert. Если же ты это делаешь из своей самописной админки сделаннйо для твоей программы - то роли тут вообще не нужны, а в качестве замены групп - именованных контейнеров для готовых наборов прав - вполне сгодятсья специальные пользователи тиа template$user1, template$user2, template$user3 и т.д. какой бред )))))))))))))))))))))) извините, я тут так хохотался ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 04:12 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 04:27 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 04:27 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
не стесняйтесь читать правильные источники на ibase.ru есть статья о роли ролей ))))))))))) в firebird в панель параметров соединения можно запихнуть все что заблагорассудится ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 04:30 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
DarkMasteroffsites, Для многопользовательских решений удобнее раздавать права роли, а потом роль грантовать пользователю (меньше записей в системных таблицах + намного меньше путаницы). К тому же пользователю можно назначить 2-3-100500 ролей.. Стандартное решение - при коннекте просить имя+пароль+давать возможность выбора из списка грантованных ролей. после этого тему можно было бы считать исчерпанной но с это туевой хучей безграмотных советчиков... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 06:12 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
MaratIsk, Да уж, кого слушать... Читать маны это конечно обязательно. Но больше интересует все же совет бывалых о правильном подходе, НО БЕЗ указания пользователем роли. Ну не знаю как с точки зрения программирования, но с точки зрения пользователя это полный бред... По хорошему, для доступа к приватной зоне и небольшом количестве пользователей достаточно одного пароля. Ну ладно, добавили для верности еще и логин. Но роль указывать - уже избыточно. По-моему на КПП сторож должен знать что Иван Иванов не директор. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 12:03 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
Вопрос мне кажется простым на самом деле. На него сможет ответить тот кто заботится о дружественном интерфейсе и доходил в реализации до конца. Я же, в ходе обсуждения, пока склоняюсь лишь к одной версии: реализацию групп делать программно. Программно назначать права пользователю при добавлении в группу. Карта прав группы будет лежать в отдельной таблице. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 12:08 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
offsitesMaratIsk, Да уж, кого слушать... Читать маны это конечно обязательно. Но больше интересует все же совет бывалых о правильном подходе, НО БЕЗ указания пользователем роли. Ну не знаю как с точки зрения программирования, но с точки зрения пользователя это полный бред... По хорошему, для доступа к приватной зоне и небольшом количестве пользователей достаточно одного пароля. Ну ладно, добавили для верности еще и логин. Но роль указывать - уже избыточно. По-моему на КПП сторож должен знать что Иван Иванов не директор. ты можешь понять, что по-твоему неправильно? в Oracle поьзователю нет необходимости указывать свою роль как и в MS SQL но это особенности СУБД как и диалекты SQL и это надо принимать за данность или писать свою СУБД )))))))))))))))))))))))))))))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 12:14 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
offsitesПользователей много. Не хочется каждому человеку вбивать одни и те же права на каждую таблицу. Скрипты придумали уже весьма давно. Не собираешься же ты каждому пользователю натыкивать права в эксперте индивидуально?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 12:18 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovoffsitesПользователей много. Не хочется каждому человеку вбивать одни и те же права на каждую таблицу. Скрипты придумали уже весьма давно. Не собираешься же ты каждому пользователю натыкивать права в эксперте индивидуально?.. он собирается ))))))))))))))))))))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 12:20 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
Понял. Это особенности СУБД. Вопрос решен социальной инженерией - персоналу было объяснено что это необходимо для безопасности базы. Все согласны. Делаем с ролями. Всем спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 12:23 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
offsitesПонял. Это особенности СУБД. Вопрос решен социальной инженерией - персоналу было объяснено что это необходимо для безопасности базы. Все согласны. Делаем с ролями. Всем спасибо! похоже - это твоя первая программа поздравляю с дебютом! удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 12:31 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
MaratIsk, Программа не первая. Раньше реализацию доступа к базе делал на уровне логин пароль в таблице. Защита не имела значения. Пароли гуляли в открытом виде. Сейчас просто более серьезный подход нужен, важна защита данных (средствами Firebird). Далее фаервол и сервер под замок. Вроде так правильно защищать базы Firebird ) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 12:51 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
offsitesMaratIsk, Программа не первая. Раньше реализацию доступа к базе делал на уровне логин пароль в таблице. Защита не имела значения. Пароли гуляли в открытом виде. Сейчас просто более серьезный подход нужен, важна защита данных (средствами Firebird). Далее фаервол и сервер под замок. Вроде так правильно защищать базы Firebird ) Если у пользователя не больше одной роли, то ему вполне можно сделать также - логин, пароль. (Для него это будет выглядеть также) А роль ты сам добавишь программно. Как это сделать? Если сервер до тройки, то смотри:Мимопроходящийпривязку сделать нельзя. но можешь предварительно выполнять отдельный коннект специальным "бесправным" юзером и смотреть какая роль грантована нужному юзеру ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 13:47 |
|
Привязка роли пользователю при коннекте к БД
|
|||
---|---|---|---|
#18+
offsites... для работы такой связки при коннекте необходимо указывать логин, пароль, роль. Слишком сложно для еще вчерашних домохозяек. Спасибо! А что мешает, при успешном подключении к БД, сохранять имя пользователя, сервер, путь к БД, порт, или еще некую информацию по вашему усмотрению, а также роль , например, в ini-файле? При следующем запуске программы "вчерашним домохозяйкам" не придется искать по 5 минут букву на клавиатуре. Ввел пароль, Enter и работай. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2016, 22:09 |
|
|
start [/forum/topic.php?fid=40&msg=39228101&tid=1562181]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 263ms |
total: | 403ms |
0 / 0 |