Скажите, что у меня есть приложение, которое управляет конфиденциальными данными, такими как записи о клиенте клиентов. После долгих успехов я привлекаю многих клиентов, некоторые из которых являются знаменитыми людьми. У меня теперь много сотрудников, которые используют это приложение. Тем не менее, я хочу защитить личность упомянутых «знаменитых» лиц, только предоставив привилегированным менеджерам учетных записей доступ к «известным» людям.Стратегия фильтрации специальных результатов на основе разрешения пользователя
Данные для этого приложения хранятся в базе данных отношений, которая развивалась в течение многих лет. Стол клиентов имеет «знаменитый» столбец для указания записей известных людей; таблица «users» имеет столбец «привилегированный», который указывает, что сотрудник имеет доступ к записям известных людей; предположим, что оба являются логическими.
Я мог бы разграбить весь слой данных, добавив туда где предложения для всех запросов; Я также должен начать отправлять флаг, указывающий, является ли пользователь «привилегированным» или нет. Это массовое мероприятие, но есть ли другой вариант?
Я ищу общий совет, но мое приложение написано на платформе Java.
Обновление: Я знаком с контролем доступа на основе ролей и тем, как пользователи, группы, роли, разрешения, права и т. Д. может быть размещен с хорошей нормой, но в настоящее время это не вариант. Скорее всего, я буду реорганизовать и адаптировать текущую систему, чтобы использовать такую инфраструктуру, как Spring Security.
Обработка прав пользователей - это больше задание для слоя «контроллер», уровень данных может быть не лучшим вариантом для обеспечения безопасности. Как вы управляете аутентификацией пользователя/авторизацией? Добавьте некоторые детали. – zerologiko
Если вы находитесь в США, я думаю, вам нужно быть уверенным, что вы находитесь в соблюдении HIPPA. Это немало. – AllInOne
@zerologiko Оба authn/authz являются домашними. Почтовый логин, аутентифицированный объект Принципа, а также объект UserPermission хранится в HttpSession для опроса большинством контроллеров (да, это веб-приложение). – i3ensays