Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Grails 3 and Spring Security Plugin

I've just recently started working with Grails, and I'd like to test out the Spring Security Plugin. I'm using Grails v3.0.0RC2, and I'm finding it difficult to come across accurate documentation for it with a lot of things.

I'm looking at the Grails page for the Spring Security Plugin, located at http://grails.org/plugin/spring-security-core, and it tells me to add the following to grails-app/conf/BuildConfig

plugins {
  …
  compile ':spring-security-core:2.0-RC4'
  …
}

Now, Grails 3 has done away with the BuildConfig, and moved over to using Gradle. So I figured I could just that compile line to my "dependencies" section in build.gradle and it would work, like so:

dependencies{
  ...
  compile:":spring-security-core:2.0-RC4"
}

However, that did not work. I get the error "Could not find :spring-security-core:2.0-RC4...".

Then I figured, 'Hey, it's a plugin, let me try prefacing it with "org.grails.plugins" like I see elsewhere in the build.gradle file:

dependencies{
  ...
  compile:"org.grails.plugins:spring-security-core:2.0-RC4"
}

And still no go.

I have gotten it to compile by adding the dependency found on search.maven.org, like so:

dependencies{
  ...
  compile 'org.springframework.security:spring-security-core:4.0.0.RELEASE'
}

But I don't think thats the proper way to do, because Grails documentation says I should have access to the command

grails s2-quickstart

once the plugin is installed, which I do not when I do it using the Maven repo.

I'm sure there's a simple configuration error I'm making, as I'm very new to both Grails, Spring, and Gradle, so I appreciate any help that can be provided.

like image 816
ekbarber Avatar asked Mar 26 '15 18:03

ekbarber


4 Answers

The Spring Secuirty core plugin for Grails is not Grails 3 compatible. However, since Grails 3 is based on Spring Boot you can use the Spring Security Starter for Spring Boot instead.

This has been discussed on the Grails developers mailing list and going forward many Grails plugins will not be moved to Grails 3 and instead will be replaced by pure Spring solutions.

Update

Since this question was originally asked there has been a Spring Security plugin created for Grails 3.x. It can be found here: https://bintray.com/grails/plugins/spring-security-core/view

like image 74
Joshua Moore Avatar answered Nov 03 '22 18:11

Joshua Moore


The "Spring Security Starter for Spring Boot" is a good starting point, but if you want to save yourself some time trying to figure out how to get it to work with Grails, check out this helpful blog post.

like image 42
Jamie Avatar answered Nov 03 '22 18:11

Jamie


I wrote the blog post @Jamie referenced in his answer and I added a new blog post describing how to use the Gorm domain classes from Spring-Security-Core plugin from Grails 2.

like image 4
dspies Avatar answered Nov 03 '22 20:11

dspies


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

This is what I used and it worked for me

like image 2
Martin Rugadya Avatar answered Nov 03 '22 19:11

Martin Rugadya