2009-03-28 3 views
1

Можно ли использовать защиту Spring Acegi для приложения для социальных сетей, где пользователи могут устанавливать свои настройки безопасности для обмена своими данными только со своими друзьями?Spring Acegi - платформа для социальных сетей

Общий сценарий учебников Acegi - это то, где вы хотите разрешить действия на роль пользователя, но как насчет авторизации пользователей для просмотра конкретных данных, скажем, только их друзей?

Можно ли использовать Acegi для этого? Как?

+0

Я переехал на Грааль, используемый Grails Acegi плагин на некоторое время и решил перейти к менее зрелому плагин Apache Shiro по своей простоте –

ответ

2

Короткий ответ: да.

Обратите внимание, что Acegi теперь входит в состав Spring и теперь известен как Spring Security.

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

Я считаю, что самые основные средства для всех будут связаны с использованием SecurityContext в вашем сервлете/контроллерах/ресурсах (слишком много способов создать веб-приложение для создания предположений здесь) и шаблонов страниц (jsf, jsp и т. Д.). .. и т. д.), чтобы получить доступ к аутентифицированному пользователю и включать только информацию, доступную пользователю для доступа.

1

Основные элементы Spring Security являются

- Security Interceptor 
    - Authentication Manager 
    - Access Decision Manager 
    - Run-As Manager 
    - After-Invocation Manager 

Фактическая реализация перехватчика безопасности будет зависеть от того, какой ресурс будет прикреплено. Если вы защищаете URL-адрес в веб-приложении, перехватчик безопасности будет реализован как фильтр сервлета. Но если вы обеспечиваете вызов метода, аспекты будут использоваться для обеспечения безопасности.

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

Используя надлежащих менеджеров, вы сможете выполнить свои требования.

Ссылка: Manning Spring в действии 2nd Edition август 2007

Смежные вопросы