Am planning on building user administration module using Grails and the Spring Security Core plug-in for Grails.
Also, am considering using MongoDB for the database system.
(1) What trade offs and benefits will my app gain by choosing MongoDB over MySQL or HSQLDB?
(2) Is it super easy to way to implement (meaning 3rd party Grails APIs or plug-ins and/or Spring APIs?) an app that does the following:
New User Registration
Forgot Password Reset Mechanism
(3) Can anyone point to a tutorial that touches on how to do some of these things using Grails?
(4) Will it be necessary to use a standard RDBMS over a NoSQL system for my app's user administration module?
Thank you for taking the time to read this.
Joined: Dec 09, 2006
Since no "greenhorns" were inclined to post a reply (when someone asks they seek insight), I thought it would be fair to provide the answers to my questions:
* The Spring Security UI plugin handles New User Registration, Confirmation E-mail, and Forgot Password Reset. The Spring Security Core plugin handles roles of course, and has support for specifying which URLs require SSL (see the docs on channel support, section "17 Channel Security").
All of the persistence used by the Core and UI plugins is overrideable, but uses GORM by default and assumes you're using an RDBMS. But it's simple to plug in your own if you use MongoDB or some other mechanism - for example see the docs on creating a custom UserDetailsService (section "11 Custom UserDetailsService" at http://burtbeckwith.github.com/grails-spring-security-core/docs/manual/)
Another developer also gave his / her two cents:
1. Not a NoSql expert but NoSql Storage are more efficent in diriect reads (the get method of grails domain classes) and are slower on complex join queries or has no support for agragation (max, min, avrg)