22

我最近才开始使用 Grails,我想测试一下 Spring Security 插件。我正在使用 Grails v3.0.0RC2,我发现很难找到包含很多内容的准确文档。

我正在查看位于http://grails.org/plugin/spring-security-core的 Spring Security 插件的 Grails 页面,它告诉我将以下内容添加到 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 都很陌生,所以我很感激可以提供的任何帮助。

4

4 回答 4

15

Grails 的 Spring Secuirty 核心插件与 Grails 3 不兼容。但是,由于 Grails 3 基于 Spring Boot,您可以改用Spring Security Starter for Spring Boot

这已在 Grails 开发人员邮件列表中讨论过,并且未来许多 Grails 插件将不会迁移到 Grails 3,而是会被纯 Spring 解决方案所取代。

更新

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

于 2015-03-26T19:01:20.920 回答
8

“Spring Security Starter for Spring Boot”是一个很好的起点,但是如果您想节省一些时间来尝试弄清楚如何让它与 Grails 一起工作,请查看这篇有用的博客文章

于 2015-04-05T21:34:42.407 回答
4

我写了@Jamie 在他的回答中引用的博客文章,并添加了一篇新的博客文章,描述了如何使用来自 Grails 2 的 Spring-Security-Core 插件的 Gorm 域类。

于 2015-05-11T18:18:42.683 回答
1
dependencies {
     ...
     compile 'org.grails.plugins:spring-security-core:3.0.4'
     ...
}

这就是我使用的,它对我有用

于 2016-04-29T07:35:03.307 回答