Grails 3 和 Spring 安全插件
Grails 3 and Spring Security Plugin
我最近才开始使用 Grails,我想测试 Spring 安全插件。我正在使用 Grails v3.0.0RC2,我发现很难找到包含很多内容的准确文档。
我正在查看位于 http://grails.org/plugin/spring-security-core 的 Spring 安全插件的 Grails 页面,它告诉我将以下内容添加到 grails-app/conf/BuildConfig
plugins {
…
compile ':spring-security-core:2.0-RC4'
…
}
现在,Grails 3 已经取消了 BuildConfig,转而使用 Gradle。所以我想我可以将那条编译行编译到 build.gradle 中的 "dependencies" 部分,它会起作用,就像这样:
dependencies{
...
compile:":spring-security-core:2.0-RC4"
}
然而,这并没有奏效。我收到错误 "Could not find :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 存储库时没有这样做。
我确定我犯了一个简单的配置错误,因为我对 Grails、Spring 和 Gradle 都很陌生,所以非常感谢您提供的任何帮助提供。
Grails 的 Spring Secuirty 核心插件与 Grails 3 不兼容。但是,由于 Grails 3 基于 Spring Boot,您可以使用 Spring Security Starter for Spring Boot 代替。
这已经 discussed 在 Grails 开发人员邮件列表中,并且未来许多 Grails 插件将不会移动到 Grails 3,而是将被纯 Spring 解决方案取代。
更新
自从最初提出这个问题以来,已经为 Grails 3.x 创建了一个 Spring 安全插件。可以在这里找到:https://bintray.com/grails/plugins/spring-security-core/view
"Spring Security Starter for Spring Boot" 是一个很好的起点,但如果您想节省一些时间来弄清楚如何让它与 Grails 一起工作,请查看此 helpful blog post。
我写了 the blog post @Jamie referenced in his answer and I added a new blog post 描述如何使用来自 Spring-Security-Core 插件的 Gorm 域 类 来自 Grails 2。
dependencies {
...
compile 'org.grails.plugins:spring-security-core:3.0.4'
...
}
这是我用过的并且对我有用
我最近才开始使用 Grails,我想测试 Spring 安全插件。我正在使用 Grails v3.0.0RC2,我发现很难找到包含很多内容的准确文档。
我正在查看位于 http://grails.org/plugin/spring-security-core 的 Spring 安全插件的 Grails 页面,它告诉我将以下内容添加到 grails-app/conf/BuildConfig
plugins {
…
compile ':spring-security-core:2.0-RC4'
…
}
现在,Grails 3 已经取消了 BuildConfig,转而使用 Gradle。所以我想我可以将那条编译行编译到 build.gradle 中的 "dependencies" 部分,它会起作用,就像这样:
dependencies{
...
compile:":spring-security-core:2.0-RC4"
}
然而,这并没有奏效。我收到错误 "Could not find :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 存储库时没有这样做。
我确定我犯了一个简单的配置错误,因为我对 Grails、Spring 和 Gradle 都很陌生,所以非常感谢您提供的任何帮助提供。
Grails 的 Spring Secuirty 核心插件与 Grails 3 不兼容。但是,由于 Grails 3 基于 Spring Boot,您可以使用 Spring Security Starter for Spring Boot 代替。
这已经 discussed 在 Grails 开发人员邮件列表中,并且未来许多 Grails 插件将不会移动到 Grails 3,而是将被纯 Spring 解决方案取代。
更新
自从最初提出这个问题以来,已经为 Grails 3.x 创建了一个 Spring 安全插件。可以在这里找到:https://bintray.com/grails/plugins/spring-security-core/view
"Spring Security Starter for Spring Boot" 是一个很好的起点,但如果您想节省一些时间来弄清楚如何让它与 Grails 一起工作,请查看此 helpful blog post。
我写了 the blog post @Jamie referenced in his answer and I added a new blog post 描述如何使用来自 Spring-Security-Core 插件的 Gorm 域 类 来自 Grails 2。
dependencies {
...
compile 'org.grails.plugins:spring-security-core:3.0.4'
...
}
这是我用过的并且对我有用