Grails 2.4.4
伙计们,我正在开发一个grails应用程序,我有一个要求,我必须将同一个应用程序中的页面呈现到不同的主机URL
例如:
Home page url (pre-login) should be www.mydomain.com
Home page url (post-login) should be home.mydomain.com
Login page url should be login.mydomain.com
Register page url should be register.mydomain.com
and Rest pages url should be inner.mydomain.com
以上所有网址都作为tomcat -> server.xml
文件中的别名添加,并指向同一个应用程序目录。
我创建了一个静态方法,根据控制器和操作确定并返回主机URL。我从grails过滤器使用此方法。
然后我只用新生成的主机url替换旧的主机URL,然后发出正常的重定向URL。
我在这里面临的问题是,如果应用程序没有登录,那么一切运行良好。但是当我尝试从主机URL login.mydomain.com
登录时,spring安全性仅为login.mydomain.com
创建会话。没有为home.mydomain.com
创建会话,因此我没有重定向到登录后home.mydomain.com
,而是重定向回登录前www.mydomain.com
那么,你能否告诉我实现这一目标的正确方法是什么?我可以在不影响我的区域设置,Cookie和会话的情况下更改主机网址吗? Spring安全可以同时验证多个主机吗? 有没有java方法可以做到这一点?
还有其他建议吗?
如果需要更多输入,请告诉我