2014-05-06 42 views
0

我相信如果一個頁面需要認證,spring安全會自動將用戶帶到登錄頁面,並在成功登錄後重定向到請求的頁面。在這種情況下,我有一個可供公衆以及登錄用戶訪問的頁面(比如說,/ products/productx)。但是,如果用戶登錄,該頁面將顯示更多關於'productx'的信息。因此,在「productx.gsp」我提供了一個鏈接,用戶登錄這樣的:用戶通過點擊鏈接登錄Grails spring安全 - 如何在登錄後重定向到同一頁面?

To see more info you must be <g:link controller="login" action="auth">logged in</g:link> 

後我怎麼把用戶重定向到「/產品/了ProductX」 ?我不想在'Config.groovy'中設置'defaultTargetUrl',因爲我想在幾種不同的情況下使用上述功能(登錄後重定向到不同的頁面)。任何意見將不勝感激,謝謝!

回答

1

無論您是否決定使用登錄頁面方法,您都很可能需要在Config.groovy中設置defaultTargetUrl;我的解決方案是在@Secured控制器中使用插頁式控制器操作來檢查相關主體數據,並根據業務邏輯將用戶重定向到適當的位置。

如果您希望在登錄後將它們保持在同一頁面上,那麼在這種情況下,ajax身份驗證方法可能更合適?

+0

謝謝你,Aquatoad。 ajax認證肯定是一個很好和乾淨的方式。等待看看是否有人有任何巧妙的grails技巧。 – tikka

相關問題