powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / RBAC в JAVA SE
1 сообщений из 1, страница 1 из 1
RBAC в JAVA SE
    #39571790
sameuser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет.
Нашел в сети sql-схему шаблона RBAC :



Структура понятна: роли, разрешения ( permissions ), юзеры..

У меня есть вопрос общего плана: что, собственно говоря, дальше? Я просмотрел ряд статей, из которых большая часть - просто описание самого паттерна. Куда реже встречаются реализации на той же яве (но зачастую примешиваются туда сторонние программы - глассфиши всякие, томкаты и масса других). Труднее всего были поиски простейшей реализации rbac на java для небольшого проекта.

Как дальше обрабатывать эти роли, проверять их?

Есть небольшое приложение ( сервер ), принимающее запросы от клиентов и обрабатывающее их ( выполняя в основном CRUD- операции с БД ). Общение между сервером и клиентами - например, через HTTP. Клиентом будет не браузер, а java-приложение ( поэтому излишние заморочки с сервлетами хотелось бы обойти стороной )

Для своего случая набор ролей оказался небольшим: клиент, админ_смены и .. Пусть еще root.

Набор разрешений для роли "клиент" мог бы быть примерно таким:
get_all_goods_list,
add_to_cart,
создать_заказ
...

Для "админ_смены" - такой:
открыть_смену,
закрыть_смену,
добавить_заказ,
удалить_заказ,
...

А для root - что-то из набора выше, и пару других каких-нибудь системных функций.

Идем далее..

В моем представлении на каждое разрешение ( for each permission ) нужно оформить подготовленный запрос ( prepared statement ), например, для "получить_список_товаров" - запрос вида SELECT goods_name, goods_id, goods_quantity FROM goods;

Авторизовали мы пользователя vasya.
А далее?
От пользователя vasya поступает новый запрос к api сервера.. Что-то вроде get_all_goods_list, ожидая получить список товаров в формате JSON.
Перед тем, как обработать запрос от пользователя, нужно просмотреть его роль, а по ней - список доступных разрешений.
И, если запрошенная функция содержится в списке разрешений, то запрос обработать, иначе - отклонить.

Вроде бы и все..

Предложенный вариант имеет право на жизнь? :)
Или нужно что-либо исправить, учесть? Может быть, упущено что-то важное?
Поделитесь мыслями на этот счет. Сам я немного подзастрял на этом моменте.. Перед тем, как приступить к кодингу, хотелось еще раз обговорить теоретические моменты.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / RBAC в JAVA SE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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