以下是該場景。我有兩個對象Users
(帶有用戶名/密碼)和UserInfo
以及與用戶有關的其餘數據。 Users
是一張有成千上萬條記錄的舊錶,UserInfo
是相當新的。我想盡可能多的UserInfo
,因爲我可以當用戶第一次登錄。Grails Spring Security在成功驗證後強制用戶進入特定屏幕
我想在第一次登錄後強制用戶到自定義屏幕並要求UserInfo
數據。一旦我在新屏幕中獲得「所需」數據,我不會顯示它,直到用戶自願想要填寫「配置文件」下的數據爲止。
由於有多個入口點到應用程序,我不想更新所有的控制器來檢查這一點。
有沒有辦法可以使用Spring Security filter
或者什麼東西在成功登錄時執行?我看了一下ApplicationListener<AuthenticationSuccessEvent>
,但它並不能解決問題,就好像我將鏈接粘貼到瀏覽器中一樣,它可以讓我在不詢問「額外信息」的情況下繼續前往目的地。
簡而言之,我想在每次登錄後進行檢查,如果失敗,用戶不允許進入應用程序。無論他怎麼努力,以獲得
您可以與常規的Grails過濾器來做到這一點,說明如下:http://grails.org/doc/latest/guide/theWebLayer.html#filters –