Лучший подход к правилам авторизации

Меня интересует лучший подход к реализации аутентификации. правила в клиент-серверном приложении с помощью Business Objects.

Я заметил распространенную тактику:
- на стороне БД: реализовать одну роль для приложения, используемую для всех пользователей приложения
- определить права и роли пользователей и назначить пользователей в соответствующую группу< br> - Клиентская сторона: добавить в средство проверки прав getters/setters Business Object, позволяющее записывать/отображать данные для конкретного пользователя

Меня беспокоит, действительно ли это хороший подход с точки зрения безопасности.
Похоже, что БД отправляет всю информацию клиенту, а затем логика клиента решает, что отображать, а что нет.
Таким образом, потенциально продвинутый пользователь может сделать запрос из своей коробки. и увидеть/изменить что-либо. Не так ли?


person Maciej    schedule 10.07.2009    source источник


Ответы (1)


Если БД отправляет всю информацию клиенту, включая информацию, которую некоторые пользователи не должны видеть, у вас проблема с безопасностью. Вы должны возвращать только тот объем данных, который пользователь имеет право просматривать.

Дизайн авторизации тесно связан с дизайном вашего приложения и базы данных. Если вам нужны очень детализированные (возможно, для каждого пользователя) разрешения, вам нужно указать это достаточно глубоко в своем дизайне, чтобы обеспечить его безопасность. Если вам нужно реализовать только простые правила, вы можете работать на более высоком уровне и, возможно, заблокировать доступ к определенным объектам или таблицам.

person Brian Lyttle    schedule 02.04.2010