Grails 3 и Spring Защитный плагин
Недавно я начал работать с Grails, и я бы хотел протестировать плагин безопасности Spring. Я использую Grails v3.0.0RC2, и мне трудно найти точную документацию для него с большим количеством вещей.
Я смотрю страницу Grails для плагина безопасности Spring, расположенного в http://grails.org/plugin/spring-security-core, и он говорит мне добавить для grails-app/conf/BuildConfig
plugins {
…
compile ':spring-security-core:2.0-RC4'
…
}
Теперь Grails 3 покончил с BuildConfig и перешел к использованию Gradle. Поэтому я решил, что могу просто скомпилировать строку в разделе "зависимости" в файле build.gradle, и это сработает, например:
dependencies{
...
compile:":spring-security-core:2.0-RC4"
}
Однако это не сработало. Я получаю сообщение об ошибке "Не удалось найти: spring -security-core: 2.0-RC4...".
Тогда я подумал: "Эй, это плагин, позвольте мне попробовать предусмотреть его с" org.grails.plugins ", как я вижу в другом месте в файле build.gradle:
dependencies{
...
compile:"org.grails.plugins:spring-security-core:2.0-RC4"
}
И до сих пор нет.
Я получил его для компиляции, добавив зависимость, найденную на search.maven.org, например:
dependencies{
...
compile 'org.springframework.security:spring-security-core:4.0.0.RELEASE'
}
Но я не думаю, что это правильный способ сделать, потому что документация Grails говорит, что я должен иметь доступ к команде
grails s2-quickstart
после установки плагина, который у меня нет, когда я делаю это с помощью Maven repo.
Я уверен, что есть простая ошибка конфигурации, которую я создаю, так как я очень новичок как для Grails, так и для Spring и Gradle, поэтому я ценю любую помощь, которая может быть предоставлена.
Ответы
Ответ 1
Плагин Spring Secuirty для Grails не совместим с Grails 3. Однако, поскольку Grails 3 основан на Spring Boot, вы можете использовать Spring Security Starter для Spring Boot.
Это было обсуждено в списке рассылки разработчиков Grails и в будущем многие плагины Grails не будут перемещены в Grails 3 и вместо этого будут заменены чистыми решениями Spring.
Обновление
Поскольку этот вопрос изначально был задан, был создан плагин Spring Security, созданный для Grails 3.x. Его можно найти здесь: https://bintray.com/grails/plugins/spring-security-core/view
Ответ 2
"Стартер безопасности Spring для Spring Boot" - хорошая отправная точка, но если вы хотите сэкономить время на то, чтобы выяснить, как заставить его работать с Grails, ознакомьтесь с этим полезный пост в блоге.
Ответ 3
Я написал сообщение в блоге @Jamie в своем ответе, и я добавил новое сообщение в блоге, описывающее использование классов домена Gorm из Spring плагина -Security-Core от Grails 2.
Ответ 4
dependencies {
...
compile 'org.grails.plugins:spring-security-core:3.0.4'
...
}
Это то, что я использовал, и это сработало для меня