Производительность ACL Spring Security - PullRequest
3 голосов
/ 27 января 2012

В настоящее время я нахожусь в процессе тестирования Списка контроля доступа Spring Security, и после прочтения ключевых концепций, кое-что привлекло мое внимание: есть таблица (ACL_ENTRY), в которой хранятся отдельные разрешения для каждого отдельного экземпляра объекта домена для каждогопринципал (при условии, что у принципала есть доступ к этому экземпляру).В большой системе с большим количеством пользователей и большим количеством доменных объектов мы можем легко представить, что в этой таблице будет много записей, которые, вероятно, будут запрашиваться очень часто (когда загружается, создается, обновляется экземпляр объекта домена)., так далее.).Теперь, имея в виду, мне интересно, как это может повлиять на выступления.У кого-нибудь есть опыт в этом?Есть отзывы?

Ответы [ 2 ]

1 голос
/ 26 апреля 2012

Возможно, вы захотите проверить, как Apache Shiro обрабатывает разрешения - Shiro имеет много масштабированных реализаций

1 голос
/ 27 января 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...