Pull to refresh
7
0
Ренат Сарымсаков @Reist

Мобильный разработчик

Send message
Буду ждать )
Про Spring — в самую точку. Удачи Вам в разработке :)
В плане организации работы интересны статьи Ашманова:

www.ashmanov.com/pap/ashrul.phtml
www.ashmanov.com/pap/ashrul2/

Спасибо Сергею, что он открыл его для меня :)
Помимо javadoc мы еще широко используем Wiki
Зато согласитесь, burndown — это один из очень удачных инструментов отчетности высшему руководству :)
Да, в 99% случаях это работает. Но только в 99% :) Да и разве не проще будет модератору (как и программисту) не думать о том, к чему относится, например, операция вступления в сообщество в терминах chmod — к чтению или записи?

Программирование на высоких уровнях приближает разработчика к естественному языку.
Как успехи? В связи с чем было принято решение налагать ограничения на методы сервисов, а не на события компонентов?

Спасибо, что упомянули Ki — теперь есть соблазн о переезде со Spring на него :) Особенно порадовала поддержка Ki мгновенных изменений ролей, а это открывает широкие возможности для интеграции с CRMedia.Security.
Мы собираемся в ближайшем будущем выложить некоторые наши проекты на Google Code (среди которых и CRMedia.Security).

Система разрабатывалась под наши нужды. Так уж получилось, что она стала универсальна )
Более того, аргументы функции могут быть вообще не связаны с адресами. Они могут быть получены из внутреннего состояния страницы (из свойств с аннотацией @Persist). Особенно это актуально для AJAX-запросов.
@Restricted(
action = «view_album»,
params = {
@SecuredProp(name = «community», paramProp = «album.community»)
}
}
Object onActivate(@SecuredParam(«album») Album album) {...}
Не всегда в адресе содержится полный набор аргументов. Рассмотрим конкретный пример. Допустим, пользователь с id = 1 пытается просмотреть альбом сообщества 10 по адресу:

www.campus.ru/gallery/viewalbum/20

Здесь 20 — это идентификатор альбома. Допустим, модератор сообщества разрешил просматривать альбомы в сообществе 10 только пользователям 2 и 3. Тогда в таблице пермиссий появится запись вида

action = view_album, community = 10, acl = {2, 3}

И для функции view_album аргументом будет являться идентификатор сообщества. В адресе же содержится идентификатор альбома. Ситуация легко разруливается CRMedia.Security:

А так, конечно, задача уменьшения нагрузки может решаться кэшированием. Проверка прав производится довольно часто, поэтому необходимо хорошо оптимизировать работу системы, например, создать индексы на таблицу разрешений, установить кэш и т.д.
В статье была допущена неточность. Идея заключалась в том, что одним сопоставлением текущего пользователя с запрашиваемым адресом (URI) не обойтись. Например, пользователи могут зайти по одному и тому же адресу сообщества, но при этом настройки сообщества видят только модераторы, а обычные пользователи — нет.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity