Grails 3和Spring Security插件

22

我最近开始使用Grails,并希望测试Spring Security插件。 我正在使用Grails v3.0.0RC2,但是发现很难找到准确的文档。

我正在查看位于http://grails.org/plugin/spring-security-core的Grails Spring Security插件页面,并告诉我将以下内容添加到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"
}

然而,那并不起作用。我收到错误消息“找不到:spring-security-core:2.0-RC4...”。

然后我想到:“嘿,这是个插件,让我尝试在build.gradle文件中像其他地方一样在它之前加上“org.grails.plugins”:

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都非常陌生,所以非常感谢能提供任何帮助。


1
Spring Security插件不兼容Grails 3。 - Joshua Moore
@JoshuaMoore 谢谢你的快速回复。你在哪里找到这些信息的?我所看到的关于兼容性的内容都在 Grails 插件页面上,它说它与 2.3.0+ 兼容。如果我之前在文档中遇到过这个信息,那就太好了,这样我就不用试图让它工作了。 - ekbarber
请提供要翻译的具体内容。 - Joshua Moore
4个回答

15

Grails的Spring Security核心插件不兼容于Grails 3。但是,由于Grails 3基于Spring Boot,您可以使用Spring Boot的Spring Security Starter代替它。

这个问题已经在Grails开发者邮件列表上进行了讨论 ,今后很多Grails插件将不会转移到Grails 3,而是会被纯Spring解决方案所取代。

更新

自从最初提出这个问题以来,已为Grails 3.x创建了一个 Spring Security 插件。可以在此处找到: https://bintray.com/grails/plugins/spring-security-core/view


4
并不是这样。Grails 3有一个插件,我正在使用它。自从提出这个问题以来,这是一个更新。这里是链接https://bintray.com/grails/plugins/org.grails.plugins%3Aspring-security-core/view#files - DtechNet
1
Josh: 现在有一个适用于Spring 3的插件可用...但是完全没有任何文档。我想知道你是否尝试过,并对它有什么评估。 - IcedDante
1
链接似乎已经损坏。 - Anthony De Smet

8

“Spring Boot的Spring安全启动器”是一个很好的起点,但如果你想节省一些时间来弄清楚如何将其与Grails配合使用,请查看这篇有用的博客文章


4
我写了一篇博客文章,与Jamie的回答相关。我添加了一篇新的博客文章,描述如何使用Spring-Security-Core插件中的Gorm域类来自Grails 2。您可以查看这篇博客文章这篇新博客文章

2
dependencies {
     ...
     compile 'org.grails.plugins:spring-security-core:3.0.4'
     ...
}

这是我使用的方法,对我有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接