Как обезопасить сокет-сервер с помощью Spring Security? - PullRequest
1 голос
/ 20 марта 2012

Я хочу защитить новую клиент-серверную систему на основе Spring с помощью Spring-Security и (предпочтительно) аннотаций безопасности на основе методов.

Есть много весенних примеров для веб-приложений, но пока я не нашел ни одного для не-веб-приложений Java.

В основном я хочу управлять безопасностью для netty-сокета таким образом, чтобы это было прозрачно для моих компонентов управления. Например: аутентифицируйте пользователя соединения один раз в обработчике netty и оставьте полную авторизацию для Spring-Security и аннотаций на моих компонентах управления.

возможно ли что-то подобное?

EDIT

Я нашел пример использования Spring-Security в интеграционных тестах Junit Я думаю, я мог бы сделать это так, но я бы не смог использовать IoC для своих фасадов, поэтому я не очень люблю эту идею.

Ответы [ 3 ]

1 голос
/ 20 марта 2012

Spring Security поддерживает обработку аутентификации на уровне метода с использованием аннотаций.Вы можете попробовать аннотацию @PreAuthorize, как описано в « Контроль доступа с использованием @PreAuthorize и @ PostAuthorize » - хотя я не уверен, как получить надлежащий контекст безопасности дометод называется.

0 голосов
/ 21 марта 2012

Ответ не имеет отношения к весенней безопасности, но если вы беспокоитесь только о «безопасности», взгляните на apache shiro .Я видел некоторую документацию, в которой говорится, что она может быть защищена на уровне сокета, а Howerver не может это выяснить сейчас ...: (

0 голосов
/ 20 марта 2012

Хотя я уверен, что вы можете взломать что-то вместе, чтобы заставить его работать, в целом Spring Security сильно ориентирован на защиту веб серверов.В частности, эта направленность очевидна в архитектуре цепочки фильтров системы, которая возникает из-за наличия делегата фильтра в web.xml.

Я не помню, чтобы было просто, если в ядре есть зависимостьВ цепочке фильтров есть объект httpRequest, который передается вверх и вниз по цепочке, но если вы собираетесь попытаться обернуть Spring Security вокруг сокета, вероятнее всего, для этого нужно будет установить адаптер в этом месте.

Итак, короче говоря, я думаю, что возможно , но это определенно будет непросто и, скорее всего, не принесет вам большой пользы, так как большая часть архитектуры и элементы безопасности по умолчанию ожидаютбыть обернутым вокруг веб-запроса.

...