Spring Acegi - платформа социальной сети - PullRequest
1 голос
/ 28 марта 2009

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

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

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

Ответы [ 2 ]

2 голосов
/ 28 марта 2009

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

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

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

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

1 голос
/ 02 мая 2009

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

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

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

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

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

Ссылка: Manning Spring in Action, 2-е издание, август 2007 г.

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