我有我的Symfony 2應用程序的自定義登錄表單。在這個表單中,我有一個選項字段,它有多個選項來設置登錄會話的最大空閒時間。我希望能夠在登錄操作中設置會話生存期。不幸的是,登錄存儲在FOSUserBundle中,這將不能被修改,因爲未來更新的捆綁包。
這就是我發現到目前爲止,糾正我,如果我錯了:
首先在一段時間後symfony中的生命可以被破壞,如描述here。
其次,我必須能夠捕獲/攔截登錄操作/驗證以在parameter.yml中設置參數。
然後可以在偵聽器中使用該參數來檢查maxlifetime是否未超出。
所以我的問題是分裂在其他兩個問題:Symfony 2:如何在登錄時設置會話生存期?
- 如何趕上/攔截登錄操作/驗證?
- 有沒有辦法創建一個偵聽器來檢查閒置時間而什麼都沒有發生(或者可以檢查下一個請求)?
在此先感謝
非常感謝。這似乎工作得很好。我還有一個問題:如何在認證處理程序的selectfield中獲取存儲值?我想這可以用Javascript和AJAX來完成,但我想避免這種情況。如果您已存儲在實體中,則爲 –
; $ em = $ this-> container-> get('doctrine') - > getEntityManager();因爲它是容器意識。 – Chathushka
那就是這個問題。登錄表單沒有連接到實體(原因很好,它是一個登錄表單)。表單發佈到我無法控制的FOSUserBundle上。所以在這裏使用教義不是一個選項。 –