I have a number of Grails apps running with 2.2.5. I've been considering upgrading them to Grails 3, but I'm worried about plugin compatibility, most notably to do with the Shiro plugin which I use. From the plugin page I'm not convinced that it has been updated yet to work with Grails 3. Is there anyone out there using Shiro with a Grails 3 app successfully?
The discussions regarding Shiro Grails 3 support is on going on Github Shiro Page. As per the thread, it is not fully ready and developers are looking for help. Some of the developers were successful on developing a Shiro Plugin for Grails 3. However it lacks proper documentation and a sample demo application support.
I too had a dilemma of this when upgrading Grails 2.x to 3.x. What, I did was use the Spring-Security-Shiro plugin. It uses a hybrid approach combining Spring Security and Shiro Security, and proved to be handy.
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.
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
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.
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.
dependencies {
...
compile 'org.grails.plugins:spring-security-core:3.0.4'
...
}
This is what I used and it worked for me
I need suggestions on cache clustering for Grails at the most recent version I can get.
I've been trying to set up Terracotta with Grails 2.4.4 but I can't manage to find a compatible version of its plugin (by the way, the Terracotta plugin page says it was last updated 6 years ago). Also I can't find any recent posts on cache clustering for grails.
I'm planning on using it also for session replication. I'm using Apache Shiro for authentication/authorization. But that shouldn't matter.
Ehcache has an embedded distributed solution based on RMI. I'm gonna give it a try but I'm not sure it'll work for web sessions in grails since the documentation says to use Terracotta.
Does anyone know if the latest Grails GORM for Mongo plugin supports GridFS?? Looked at the docs but couldn't find any information? If so please may you provide an example.
No, no support yet. You can create a feature request at http://jira.grails.org/browse/GPMONGODB
i'm looking for a rails plugin for open id authentication.
I'm using restful-authentication
Can you tip me any plugin?
Do you know any tutorials for using these plugins?
thanks
Use the open_id_authentication plugin maintain by Rails core team http://github.com/rails/open_id_authentication
When I tried this a few years ago, I had problems configuring Apache/mongrel. I vaguely remember with respect to Yahoo.
The plugin itself was easy to use!
Stephan