2017-07-27 41 views
0

我正在使用spring-security-core:2.0-RC5和grail 2.3.3,並通過Requestmap dB系統控制網頁訪問。spring.security.core和defaultTargetUrl

我遇到問題登錄到應用程序,並指導應用程序一旦通過認證的適當的網頁。

我已經使用defaultTargetUrl配置設置來定義登錄成功後的位置。

這是一個開發應用程序的根網址是:http://localhost:9002/VidPlay

我有兩個用戶使用不同的角色:

John1 - 與ROLE_ADMIN + ROLE_USER

Mike1 - ROLE_USER只有

如果defaultTargetUrl設置爲/ home/index

以John1身份登錄進行身份驗證並進入t o網址:http://localhost:9002/VidPlay成功。爲什麼它不會去http://localhost:9002/VidPlay/home/index我登錄後可以訪問?

以Mike1身份登錄進入URL:http://localhost:9002/VidPlay但正確訪問失敗。再次爲什麼它不會去http://localhost:9002/VidPlay/home/index我登錄後可以訪問?

似乎這兩個登錄都會重定向到http://localhost:9002/VidPlay但我不知道爲什麼儘管我可以在登錄後進入這些頁面?

如果defaultTargetUrl設置爲/ Requestmap/index。

以John1身份登錄進行身份驗證,併成功登錄到URL:http://localhost:9002/VidPlay/Requestmap/index

以Mike1身份登錄並被重定向到URL:http://localhost:9002/VidPlay但正確訪問失敗。

它似乎將Mike1重定向到http://localhost:9002/VidPlay。一旦登錄爲Mike1,我可以去http://localhost:9002/VidPlay/Requestmap/index。爲什麼它不會去http://localhost:9002/VidPlay/Requestmap/index我登錄後可以訪問?

感謝邁克

+1

嘗試設置grails.plugin.springsecurity.successHandler.alwaysUseDefault =真 –

+0

@Sudhir N - 是的那完成了工作 - 謝謝。 – mikek

+0

以下面的答案發布 –

回答

0

當用戶訪問的URL是安全的,但用戶沒有登錄,春季安全將用戶重定向到登錄界面。成功登錄後,用戶將被重定向回原來的URL。

您可以設置配置alwaysUseDefault = TRUE,這將使登錄後春天總是安全將用戶重定向到配置defaultTargetUrl

grails.plugin.springsecurity.successHandler.alwaysUseDefault = true