Я пишу приложение depsktop (на Java), которое взаимодействует с базой данных, в которой хранятся в основном документы с требованиями, но у меня есть небольшая дилемма.Конкретно проблема с управлением пользовательским доступом.
Чтобы проиллюстрировать это, я храню все детали структуры папок в одной таблице.Однако я хотел бы создать механизм групп пользователей, аналогичный системам Linux / Unix, где вы можете добавлять / мод / только папки, для которых у вас есть разрешения.Конечно, я могу назначать разрешения базы данных только таблице или столбцам, а не отдельным строкам, представляющим папки, к которым у них есть доступ.
Одним из решений этой проблемы является предоставление каждой папке отдельной таблицы, а затем только обновление / вставка / удаление доступа для определенных пользователей, но это было бы не чем иным, как кошмаром, поскольку количество таблиц взорвалось бы.неуправляемый уровень.
Второй вариант заключается в создании процесса на стороне сервера, который расположен между базой данных и клиентами, который будет возвращать список папок, который, как утверждается, имеет пользователь (удаляя весь вопрос о привилегиях таблиц,купить, требуя теперь, чтобы я написал сетевой протокол для общения с этим процессом, вместо того, чтобы просто использовать драйвер jdbc напрямую)
Последний вариант - триггеры, хотя база данных, которую я должен поддерживать (mysql), не делает этомне легко отказаться.Я также надеялся, учитывая частоту доступа, избежать триггеров из-за дополнительных вычислений и более низкой производительности.
Ни один из них не идеален, но у меня заканчиваются идеи.
Рекомендации?