Форум Сообщества Аналитиков
Общий раздел => Примеры => Тема начата: ADIZ от 18 Октября 2008, 22:51:05
-
Скажите, а как описываются права доступа?
Я не в курсе, поиск не особо помог, шаблоны проектирования еще не знаю (а они, походу, тоже не помогут).
Так что вот что я надумал сам:
1) Как я понимаю, речь идет о доступе к функциям приложения, а если еще точнее - к информации в БД.
2) Если представлять информацию в БД на диаграмме классов, то я размышляю так:
данные хранятся в атрибутах объектов.
Объект имеет также методы и связи с другими объектами. Тогда:
- создание объекта - метод "create()"
- уничтожение объекта - метод "destroy()"
- чтение значения атрибута - метод "get()"
- задание значения атрибута - метод "set()"
- установка связи между объектами - метод "add()" (т.е. добавить ссылку на другой объект в коллекцию данного объекта)
- удаление связи между объектами - метод "remove()"
Таким образом, мы должны ограничивать права доступа - просто разрешая или запрещая пользователю запуск методов объектов !
В целях упрощения, я не рассматриваю случай распределения прав между пользователями на создание объектов.
3) Диаграмма классов имеет вид:
(http://fotoplenka.ru/photo/adis/402211/8882933.jpg)
Кстати, реализация класса "Разрешения" может быть и получше выполнена, сдесь же все примитивно:
if "Разрешения"."Доступен метод (№ 5)" then "Роль1"."метод № 5" (т.е. может выполнить 5-й метод)
-
Скажите, а как описываются права доступа?
Я не в курсе, поиск не особо помог, шаблоны проектирования еще не знаю (а они, походу, тоже не помогут).
Есть книга по Security Patterns, там есть слово ACL (Access Control List).
-
Есть много различных схем реализации прав доступа. Вот одна из них, основанная на ролях
http://en.wikipedia.org/wiki/Role_based_access_control
и еще
http://www.tonymarston.net/php-mysql/role-based-access-control.html
Если нужен доступ к данным то роль, можно представлять как CRUD матрицу. Если по мимо данных нужно ограничить доступ к функциям, то можно добавить право Execute.
+ немного в аттаче
-
Есть книга по Security Patterns, там есть слово ACL (Access Control List).
Денис! Не подскажите, где-нибудь эту книгу скачать можно ? Если можно, то где ?
На данном сайте в "Файловый архив" -> "Шаблоны проектирования" ничего не нашел, гугли тоже не помог особо - все не то.
-
Если речь идет про книгу Security Patterns: Integrating Security and Systems Engineering, то почитать в онлайне ее можно здесь http://ru.dleex.com/read/?41635
-
2 Виталий Григораш
Спасибо!