powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Своя подсистема безопасности для трёхзвенки
25 сообщений из 73, страница 1 из 3
Своя подсистема безопасности для трёхзвенки
    #39629579
Здравствуйте!

Поставили такую задачу - разработать веб-приложение с БД на PostgreSQL (на самом деле неважно, какая СУБД).
Я отвечаю за разработку БД. Веб-сервер общается с БД только посредством функций.

Руководитель сказал сделать такой вариант подсистемы безопасности, что все пользователи - "виртуальные" - т.е. это просто записи в таблице T_USER, а вовсе не реальные пользователи СУБД. Также существует таблица прав для каждого пользователя, т.е. пользователи и права - это на уровне приложения, а не на уровне СУБД.

Веб-сервер будет общаться с СУБД от имени одной фиксированной учётки, а функции уже будут разруливать от имени какого пользователя работает приложение - вот это и есть тот вопрос, который мне не понятен.
Как функция узнает, от имени какого "виртуального" пользователя она выполняется - это что, в каждую функцию передавать ID_USER ?
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629590
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вам не Димон.,

каша из непонятно чего...
нет такого термина "виртуальный пользователь"
есть пользователь системы и пользователь субд.
все пользователи системы имеют логин/пароль которые хранятся в базе
и отвечает за авторизацию пользователя системы серверное приложение, которое обращается к базе с логином/паролём "пользователя базы" (вполне возможно что это может быть и root)
серверное приложение разруливает правами кто и что может выполнять в базе.
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629606
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вам не Димон.,
Тут думать ничего не надо. Просто перейти в ветку программистов.
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629609
вадясерверное приложение разруливает правами кто и что может выполнять в базе.
Поясняю. Юзер вводит логин и пароль - например vasya и 12345.
Веб сервер вызывает функцию f_check_user('vasya','12345') и она возвращает допустим =0
то есть такой пользователь с таким паролем найден в таблице T_USER нашей БД.
Далее веб-сервер должен вызывать другие функции этой БД, но в контексте пользователя vasya.
Как это реализовать, если пользователь vasya - это не пользователь СУБД, а просто запись в таблице T_USER ?
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629611
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вам не Димон.вадясерверное приложение разруливает правами кто и что может выполнять в базе.
Поясняю. Юзер вводит логин и пароль - например vasya и 12345.
Веб сервер вызывает функцию f_check_user('vasya','12345') и она возвращает допустим =0
то есть такой пользователь с таким паролем найден в таблице T_USER нашей БД.
Далее веб-сервер должен вызывать другие функции этой БД, но в контексте пользователя vasya.
Как это реализовать, если пользователь vasya - это не пользователь СУБД, а просто запись в таблице T_USER ?
Как руководитель скажет, так и реализовывать
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629613
Egoр, ладно, посмеялись и будет.
Ваши варианты решения?
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629615
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вам не Димон.Egoр, ладно, посмеялись и будет.
Ваши варианты решения?
Это ты смешной.
У прогеров этот вопрос давно решен. Через библиотеки.
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629618
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вам не Димон.,

По хорошему тут БД не причем.
Т.е. надо сделать нормальную трехзвенную архитектуру.
Где доступ и роли для работы с БД будут определяться на сервере приложений.
Там же можно будет сделать логгирование действий пользователя.
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629619
Petro123У прогеров этот вопрос давно решен. Через библиотеки. Можно будет ссылочку на статью?
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629624
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тему в нужном ЯП заведи.
И вообще, это вопрос тебя как разраба бд не касается.
Это бэк программист веб сервера решает.
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629626
Petro123,

Отвечать один *** я буду.
Секьюрнось системы на мне.
Надеюсь на понимание.
Может всё-таки у кого-нибудь есть ссылка на материал по теме?
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629627
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вам не Димон.Веб-сервер будет общаться с СУБД от имени одной фиксированной учётки, а функции уже будут разруливать от имени какого пользователя работает приложение
В веб будет обезличенный пользователь без прав DML и в функциях не разруливают обычно.
Вне бд разруливают.
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629628
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вам не Димон.Отвечать один *** я буду.дак ты начальник)))
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629634
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вам не Димон.Далее веб-сервер должен вызывать другие функции этой БД, но в контексте пользователя vasya.
Как это реализовать, если пользователь vasya - это не пользователь СУБД, а просто запись в таблице T_USER ?не веб-сервер, а серверное приложение - 2 звено
для конкретного пользователя vasya и должно вызвать нужное, то что разрешено этому васи
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629638
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123В веб будет обезличенный пользователь без прав DML и в функциях не разруливают обычно.
Вне бд разруливают.+100500
mad_nazgulПо хорошему тут БД не причем.
Т.е. надо сделать нормальную трехзвенную архитектуру.
Где доступ и роли для работы с БД будут определяться на сервере приложений.
Там же можно будет сделать логгирование действий пользователя.+100500

тут ужо всё сказано , добавить нечего
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629642
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вам не Димон....
Как функция узнает, от имени какого "виртуального" пользователя она выполняется - это что, в каждую функцию передавать ID_USER ?

Да, в таком варианте, каждая функция, работающая с user-specific данными должна принимать user_id или его аналог.
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629646
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вам не Димон.Руководитель сказал сделать такой вариант подсистемы безопасности, что все пользователи - "виртуальные" - т.е. это просто записи в таблице T_USER, а вовсе не реальные пользователи СУБД.
Собственно, речь почти наверняка шла о другом. И поскольку это непонятно, то лучше взять самоотвод, чем делать халтуру.
В трехзвенной системе управление правами осуществляет сервер приложений, БД в этом вообще не участвует.
А задача руководителя, скорее всего, включала в себя разработку схемы данных, удобной для хранения и использования информации о пользователях и их правах доступа. То есть таблица пользователей, организационная структура (отделы, руководители), кадровая информация (должности, период работы), группы доступа, роли, сценарии.
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629653
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ответы в специфичном для скл.ру стиле. Как можно минимум инфы по существу.

Если все юзеры будут ходить под одним БД-эккаунтом, то неизбежно придется везде передавать или откуда-то зачитывать ID юзера из T_USER.
Допустим перед обращением к к-л серверному запросу делать выборку с ID юзера, на предмет, имеет ли этот юзер право на выполнение этого конкретного запроса.
Если запрос/функция внутри должны знать этот ID (например чтобы отсечь "чужие" записи), то неизбежно надо как-то передавать этот ID в запрос, ф-цию или ХП.

пысы: чудес не бывает.
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629657
L_argoОтветы в специфичном для скл.ру стиле. Как можно минимум инфы по существу.

Если все юзеры будут ходить под одним БД-эккаунтом, то неизбежно придется везде передавать или откуда-то зачитывать ID юзера из T_USER.
Допустим перед обращением к к-л серверному запросу делать выборку с ID юзера, на предмет, имеет ли этот юзер право на выполнение этого конкретного запроса.
Если запрос/функция внутри должны знать этот ID (например чтобы отсечь "чужие" записи), то неизбежно надо как-то передавать этот ID в запрос, ф-цию или ХП.
Ну да, я об этом и писал, что придётся таскать ID_USER при каждом вызове функции. Просто я думал, что есть какие-то другие методы, более правильные, а тут начали троллить.
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629658
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argoОтветы в специфичном для скл.ру стиле. Как можно минимум инфы по существу.

Если все юзеры будут ходить под одним БД-эккаунтом, то неизбежно придется везде передавать или откуда-то зачитывать ID юзера из T_USER.
Допустим перед обращением к к-л серверному запросу делать выборку с ID юзера, на предмет, имеет ли этот юзер право на выполнение этого конкретного запроса.
Если запрос/функция внутри должны знать этот ID (например чтобы отсечь "чужие" записи), то неизбежно надо как-то передавать этот ID в запрос, ф-цию или ХП.

пысы: чудес не бывает.это разруливается намного раньше
тот же вася видит только то что ему ререшено и это показывает серверное приложение.
и все действия , которые разрешены васе обеспечивает серверное приложение.
вася просто не может сделать то что ему не разрешено и база здесь только хранилище разрешений конкретному юзеру
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629660
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вам не Димон.Ну да, я об этом и писал, что придётся таскать ID_USER при каждом вызове функции. Просто я думал, что есть какие-то другие методы, более правильные, а тут начали троллить.не надо никуда таскать
если пришёл запрос серверному приложению - оно однозначно знает от кого пришёл запрос.
уже в самой форме/странице отражены те варианты , которые доступны для данного юзера/роли
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629662
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вам не Димон.а тут начали троллить.ты больше разговаривай с мембером с одним сообщением.
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629679
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяне надо никуда таскать
если пришёл запрос серверному приложению - оно однозначно знает от кого пришёл запрос.
уже в самой форме/странице отражены те варианты , которые доступны для данного юзера/ролиКак не надо таскать ? А как с БД зачитать набор только разрешенных записей ?
Все равно для этого придется этот ID куда-то передать: в запрос, ХП, ф-цию.
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629697
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo,
Тема про трехзвенку.
...
Рейтинг: 0 / 0
Своя подсистема безопасности для трёхзвенки
    #39629706
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123L_argo,
Тема про трехзвенку.Вообще-то про апп-сервер, кот. обращается к БД.
...
Рейтинг: 0 / 0
25 сообщений из 73, страница 1 из 3
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Своя подсистема безопасности для трёхзвенки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]