Форум Сообщества Аналитиков

×


Права доступа(Прочитано 17349 раз)
Права доступа : 18 Октября 2008, 22:51:05
Скажите, а как описываются права доступа?

Я не в курсе, поиск не особо помог, шаблоны проектирования еще не знаю (а они, походу, тоже не помогут).

Так что вот что я надумал сам:

1) Как я понимаю, речь идет о доступе к функциям приложения, а если еще точнее - к информации в БД.

2) Если представлять информацию в БД на диаграмме классов, то я размышляю так:

данные хранятся в атрибутах объектов.
Объект имеет также методы и связи с другими объектами. Тогда:

 - создание объекта - метод "create()"
 - уничтожение объекта - метод "destroy()"

 - чтение значения атрибута - метод "get()"
 - задание значения атрибута - метод "set()"

 - установка связи между объектами - метод "add()" (т.е. добавить ссылку на другой объект в коллекцию данного объекта)
 - удаление связи между объектами - метод "remove()"

Таким образом, мы должны ограничивать права доступа - просто разрешая или запрещая пользователю запуск методов объектов !

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

3) Диаграмма классов имеет вид:



Кстати, реализация класса "Разрешения" может быть и получше выполнена, сдесь же все примитивно:

if "Разрешения"."Доступен метод (№ 5)" then "Роль1"."метод № 5" (т.е. может выполнить 5-й метод)



Re: Права доступа Ответ #1 : 19 Октября 2008, 00:31:13
Скажите, а как описываются права доступа?
Я не в курсе, поиск не особо помог, шаблоны проектирования еще не знаю (а они, походу, тоже не помогут).
Есть книга по Security Patterns, там есть слово ACL (Access Control List).



Re: Права доступа Ответ #2 : 20 Октября 2008, 09:53:14
Есть много различных схем реализации прав доступа. Вот одна из них, основанная на ролях
http://en.wikipedia.org/wiki/Role_based_access_control
и еще
http://www.tonymarston.net/php-mysql/role-based-access-control.html
Если нужен доступ к данным то роль, можно представлять как CRUD матрицу. Если по мимо данных нужно ограничить доступ к функциям, то можно добавить право Execute.
+ немного в аттаче
Если вы не знаете куда идете, то вы вряд ли туда дойдете [Форест Гамп]
www.grigorash.ru



Re: Права доступа Ответ #3 : 21 Октября 2008, 01:46:40
Есть книга по Security Patterns, там есть слово ACL (Access Control List).
Денис! Не подскажите, где-нибудь эту книгу скачать можно ? Если можно, то где ?
На данном сайте в "Файловый архив" -> "Шаблоны проектирования" ничего не нашел, гугли тоже не помог особо - все не то.



Re: Права доступа Ответ #4 : 21 Октября 2008, 09:40:16
Если речь идет про книгу Security Patterns: Integrating Security and Systems Engineering, то почитать в онлайне ее можно здесь http://ru.dleex.com/read/?41635
Если вы не знаете куда идете, то вы вряд ли туда дойдете [Форест Гамп]
www.grigorash.ru



Re: Права доступа Ответ #5 : 25 Октября 2008, 13:47:07
2 Виталий Григораш
Спасибо!




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19