Grails spring安全性-登录后如何重定向到同一页面?

Grails spring安全性-登录后如何重定向到同一页面?,grails,redirect,spring-security,Grails,Redirect,Spring Security,我相信如果一个页面需要身份验证,spring安全性会自动将用户带到登录页面,并在成功登录后重定向到请求的页面。在本例中,我有一个页面(比如,/products/productx),公共用户和登录用户都可以访问该页面。但是,如果用户已登录,该页面将显示有关“productx”的更多信息。因此,在“productx.gsp”中,我为用户提供了一个如下登录链接: To see more info you must be <g:link controller="login" action="aut

我相信如果一个页面需要身份验证,spring安全性会自动将用户带到登录页面,并在成功登录后重定向到请求的页面。在本例中,我有一个页面(比如,/products/productx),公共用户和登录用户都可以访问该页面。但是,如果用户已登录,该页面将显示有关“productx”的更多信息。因此,在“productx.gsp”中,我为用户提供了一个如下登录链接:

To see more info you must be <g:link controller="login" action="auth">logged in</g:link>
要查看更多信息,您必须登录

用户通过单击链接登录后,如何将用户重定向到“/products/productx”?我不想在“Config.groovy”中设置“defaultTargetUrl”,因为我想在几种不同的情况下使用上述功能(登录后重定向到不同的页面)。如有任何意见,我们将不胜感激,谢谢

无论您是否决定使用login page方法,都很可能需要在Config.groovy中设置defaultTargetUrl;我针对这个问题的解决方案是在@Secured controller中使用中间控制器操作来检查相关的主体数据,并根据业务逻辑将用户重定向到适当的位置


如果您希望在登录后将它们保持在同一页面上,那么ajax身份验证方法在这种情况下可能更合适?

谢谢您,Aquatoad。ajax身份验证无疑是一种好的、干净的方法。等待着看是否有人有任何巧妙的圣杯技巧。