Есть ли какой-нибудь готовый к использованию Spring-Security пакет безопасности для Java? - PullRequest
6 голосов
/ 27 октября 2009

Я разрабатываю подсистему безопасности для нового продукта. Система требует следующего:

  • Сложная модель пользователя / группы / разрешения, как уровня обслуживания, так и уровня домена (ACL)
  • Административный интерфейс для вышеупомянутого
  • Правила, выполняемые при действиях пользователя (отключение учетной записи при неудачной регистрации, требования к сложности пароля и т. Д.).

Прежде чем приступить к реализации большинства функций, которые отсутствуют в Spring Security (2.x), мне было интересно, знаком ли кто-нибудь с этим и может ли порекомендовать пакет, который может уже реализовать / поддерживать эти требования? в идеале JAR + WAR, который можно добавить в проект и поддерживать все готовое.

Спасибо

Ответы [ 2 ]

1 голос
/ 01 ноября 2009

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

Обратите внимание, что проект JSecurity окончательно переместился в Apache Software Foundation и теперь известен как проект Apache Shiro .

0 голосов
/ 28 октября 2009

Интересно, что вы спросили, у меня тоже есть очень похожее требование, и я уже некоторое время его ищу. Я сдался и начал делать это сам, и за последние 2 недели у меня был приличный прогресс. В настоящее время у меня есть поддержка для доменных идентификаторов, которые не обязательно являются длинными, это может быть что угодно, например, строка с подстановочными знаками для обозначения группы вещей, которые могут быть предоставлены органу (ROLE, GROUP, USER) или идентификатор строки или даже вместе. Можно определить несколько типов разрешений, каждый со своими или наборами разрешений, и эти типы разрешений могут быть назначены как поддерживаемые защищенному объекту, и экземпляры будут защищены ими, поэтому у вас не будет ограничений максимум 32 возможных разрешений для всех система. Также вы можете использовать любые фактические или виртуальные объекты в конфигурации ACL. Все это основано на новой (3.0.0.R1) безопасности Spring с поддержкой выражений методов и работает довольно хорошо. Все это использует Hibernate, так что вы можете воспользоваться преимуществами прозрачного постоянства и распределенного кэширования. Есть много грубых краев, но, как доказательство концепции, это ожидаемо. В любом случае, дайте мне знать, если вы заинтересованы, и мы могли бы сотрудничать, чтобы сделать это полезным для нас и, вероятно, для других.

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