4
每當我編輯用戶角色時,用戶都需要註銷並重新登錄才能看到更改。推廣用戶時沒有問題,因爲他們只是在再次登錄之前纔會看到額外的權限。但是,當降級發生時,用戶仍將保持其現有的角色,從而施加安全風險。想象一下,撤銷流氓員工的管理員用戶,仍然有能力做任何事情(例如破壞系統),直到他們註銷!FOSUserBundle/Symfony2:強制註銷給定用戶(不是當前登錄的用戶)的用戶
是否有可能使與特定用戶相關的所有會話或令牌無效?如果有另一種方式來動態更新用戶的角色而不註銷它們,我很樂意聽到它!
只是爲了說清楚,我並沒有試圖使當前登錄用戶的會話/令牌無效。
在此先感謝!
感謝您指點我正確的方向。是否可以在會話表中添加額外的列來存儲與PdoSessionStorage使用的會話ID關聯的用戶ID?另外,如何獲得給定會話標識的令牌對象?提前致謝! – 2012-03-10 20:19:59
要做到這一點,您可能需要修改PdoSessionStorage類。我認爲最好是創建一個交互式登錄監聽器,並在'onSecurityInteractiveLogin'方法中獲取會話ID並將其保存在一個表中,比如'user_sessions'。 – 2012-03-10 20:31:39
這可能是將其存儲在另一個數據庫中的最佳方式。我仍然不知道如何從存儲在數據庫中的會話值轉換回安全令牌。 – 2012-03-10 20:48:53