grails为不同的控制器

时间:2017-06-18 11:43:17

标签: java redirect grails spring-security

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方法可以做到这一点?

还有其他建议吗?

如果需要更多输入,请告诉我

0 个答案:

没有答案