Вопрос

Какое решение для обеспечения безопасности grails является лучшим среди acegi, jsecurity и Stark security?

Это было полезно?

Решение

JSecurity фактически стал проектом Apache под названием Apache Ki некоторое время назад, и по какой-то причине они не были довольны изменением имени и изменили его на Apache Shiro вскоре после этого. Также Stark - это просто оболочка для подключаемых модулей Grails для Spring Security , а acegi является источником проекта Spring Security.

Так какой же использовать?

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

Во-вторых , то, как на самом деле ведет себя структура безопасности, очень важно, она должна позволять вам использовать вашу любимую схему защиты вашего приложения. Например, хотя некоторым людям нравится, как работает Широ ( см. Этот учебник , особенно часть под заголовком " Quickstart.java " ), другие не могли жить без Spring-esque материала Spring Security и так далее, и тому подобное. В основном вам нужно попробовать оба варианта и выяснить, соответствуют ли они вашим потребностям с точки зрения удобства использования.

В-третьих , будьте уверены в реальной безопасности! Spring Security может быть гарантированно безопасным, Shiro является наиболее вероятным безопасным, потому что широкое распространение не может легко скрыть проблемы безопасности, см., Например, Уязвимости Firefox , чтобы увидеть, как увеличение базы пользователей начинает влиять на реальную безопасность приложения в долгосрочной перспективе.

Чтобы покончить с этим, если бы мне пришлось выбирать для вас, я бы выбрал Spring Security, потому что он широко используется, он гарантированно безопасен и уже интегрирован с Grails. JSecurity / Ki / Shiro совсем не плохой, и я использовал его некоторое время, но на данный момент он находится в каком-то подвешенном состоянии для тех, кто знает, по какой причине и для структуры безопасности это просто неприемлемо.

Изменить . Прошло более 1 & # 189; Прошло много лет с тех пор, как я ответил на это, поэтому я почувствовал необходимость вернуться и сказать, что наша компания недавно решила использовать Spring Security из-за его высокой подключаемости и проверенной функциональности. Это, конечно, делает меня немного предвзятым, но в любом случае я бы сказал, что Spring Security - это путь.

Другие советы

Ответ Эско велик и убедителен. Я провел оценку различных фреймворков месяц назад и выбрал Shiro в качестве базового фреймворка безопасности, несмотря на предыдущий опыт работы с Spring Security. Мне нужно решение с возможностью создания сложных требований авторизации. Модель JSecurity очень простая, но очень мощная.

Что меня окончательно убедило, так это плагин Nimble , который представляет собой слой пользовательского интерфейса сверху Широ. Он позволяет вам управлять пользователями, ролями, группами, самостоятельным созданием учетных записей, электронной почтой и т. Д. И легко интегрируется в ваше приложение. Отсутствие необходимости писать весь этот код был огромной победой для меня. Это также позволяет интеграцию с OpenId, facebook и другими.

Если бы Nimble работал на SpringSecurity, я бы, вероятно, выбрал его, но я увидел в этом огромную победу для меня.

Я использовал обе платформы и мне нравится то, как работает Широ, по сравнению с подходом Spring. Я не знаю, почему Spring Security так популярен. В отличие от Shiro, Spring Security работает по всему приложению, когда требуется настройка. Разве безопасность не является сквозной проблемой для большинства приложений? Если это так, не будет ли это "более чистым кодом"? выделить его в одном месте? Мои два цента.

Спасибо, ребята, за ваши ответы.Я действительно попробовал spring Security в приложении grails.Плагин grails делает его довольно простым в использовании.

с уважением.

Джош

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top