Мне нужно внедрить элементы управления доступом в свое приложение, и я использую для него Spring ACL. В моей модели есть Пользователь, группы, разрешения.
Проблема, которую я пытаюсь решить, заключается в том, чтобы получить разрешения на объект домена для пользователя. Я смог получить все записи управления доступом для этого пользователя (основной sid и групповой sid), и с его помощью я смог получить окончательный набор разрешений, объединив все разрешения. Допустим, комбинированная маска равна 111, что означает разрешения на чтение, запись и создание в соответствии с разрешениями, определенными в BasePermissions.
Проблема, с которой я столкнулся сейчас, заключается в том, что я не могу найти способ получить список всех определенных базовых разрешений. чтобы я мог сравнить маску с отдельными разрешениями. Базовый класс разрешений, по-видимому, не предоставляет такого метода. Я не хочу жестко кодировать случаи в предложении if-then, так как количество разрешений может увеличиться в будущем.
Любые указатели будут оценены. Спасибо.