Какую платформу безопасности использовать для приложения Grails? - PullRequest
3 голосов
/ 04 января 2012

Я потратил пару недель, пытаясь выяснить, какое решение я должен предложить для этого вопроса , который я написал. Поскольку я не смог найти полную документацию по интеграции Shiro-Grails, я ищу какую-то другую инфраструктуру (например, Spring) для защиты нашего легкого веб-приложения Grails.

Приложению исполнилось пару месяцев, и оно не очень большое. Не более 20 постоянных классов. Тем не менее, я верю, что скоро вырастет. Но безопасность еще не реализована, и я хочу убедиться, что найду лучшую инфраструктуру безопасности (для меня лучшая может включать в себя: бесплатный исходный код, хорошо документированный, простой в интеграции с Grails, расширяемый и последний, но не в последнюю очередь более защищенный ).

Есть предложения?

Ответы [ 3 ]

8 голосов
/ 05 января 2012

Стив прав - это между SpringSecurity и Shiro.

Я использую Shiro - документация не так хороша, как могла бы быть, но * -Permissions отличные.

Вы даете разрешение, указав "controller:action" кортежей.И вы можете использовать списки и подстановочные знаки:

"*:list,show" //everything read-only
"book:*"      //everything allowed on the book class
"*:*"         //admin

В результате у вас есть все разрешения в виде белого списка (на основе контроллера: действие) в одном файле.

То, что я видел такSpringSecurity далек от того, что вы часто основываете разрешения на URL-адресах - это ИМХО простой способ упустить защиту контроллера или действия.см. Защита действий в Grails 2 rc3 , например: -)

PS: если кто-нибудь знает, как выполняется этот вид * -Preemission в SpringSecurity, пожалуйста, оставьте комментарий!

5 голосов
/ 04 января 2012

Стандартной структурой безопасности Grails является Spring Security.Проверьте документы

3 голосов
/ 05 января 2012

В значительной степени это между SpringSecurity и Shiro .

Spring Security, похоже, становится стандартом для Grails, как сказал doelleri, он должен обеспечивать все, что вы когда-либо могли пожелать, и хорошо документирован и разработан. Широ, я обнаружил, что функционально на уровне основных задач безопасности, но я чувствую, что документы подвели его по сравнению. Существует плагин (в настоящее время не поддерживается) под названием Nimble, который использует Shiro в качестве основы, Nimble является мощным и предоставляет множество функций, таких как графический пользовательский интерфейс управления "из коробки".

Я только начал с Spring Security для нового проекта, и теперь я нахожу его очень мощным и простым в использовании, и я рад, что внес изменения. Но, в конце концов, это зависит от потребностей вашего проекта / организации.

...