Well multi-tenant can be handled through the subdomain. Pretty simple. But if you want to use the same login, you need to use multiple databases and separate that out.
Hmmm... why dont I work on that today and push that out so the user/validation tables are all in separate database that can be shared; this will make multitenancy as simple as just setting the subdomain
So I took a look at this and the multi-tenancy in Grails. (https://github.com/orubel/Beapi-API-Framework/issues/112)
First, you have to support multiple datasources. This in itself should not be hard in theory. Springboot does a great job of this and its a fairly simple solution... BUT...
GORM has bugs that have caused issues with this since 2016 (if you read through the tickets); their are several things that need to be implemented and should be implemented in Grails 4.0 (which is supposed to be out right now) but they just haven't gotten around to supporting.
This among other things is making me think I should just move the entire project to Spring-boot and dump Grails.
That doesn't mean I have to dump Groovy; I'll just do the MVC in Groovy to make things approachable and the rest in Java.
You are making me think my next major push is for a rewrite now that everything is fairly stable; would probably improve speed even more and increase community involvement.
Yes read the issue on GitHub. If indeed Grails 4.0 won't have the support required then maybe a re-write is in order. Since you'll be doing all the work, I won't push you on this, in your time! thanks again for looking.