1
假設我有複雜的用戶管理系統。在這種情況下,用戶可以與組關聯,組可以與角色關聯。另外組可以包含其他組。JPA - 在提交之前如何檢查關係?
我假設在「賬戶管理」的情況下,當前用戶不能失去允許做「賬戶管理」過程的角色。我想知道如何實現該用例的最佳方式。
讓我們試着考慮簡單的情況: E.g.在下面的層次結構中,用戶通過組G3和G5與我們的角色連接。
---USER---
| |
G1 G3----
| | |
G2 G5 G6
|
REQUIRED_ROLE
在G3組版中,有人嘗試更換G3組成員,例如七國集團(爲了簡化wihout角色)
---USER---
| |
G1 G3----
| | |
G2 G7 G6
提交這一變化將刪除用戶hiererchy和用戶「賬戶管理」的角色將無法編輯帳戶。
我唯一的想法是將所有組和角色讀入內存,並嘗試手動更改所有依賴項以檢查角色在提交後是否仍然分配。但是這個解決方案可能會成爲未來潛在錯誤的來源,而且不夠優雅。 有沒有人有想法如何以優雅的方式解決它?
是用戶編輯數據庫的人還是不同的用戶? –
用戶登錄「玩」後整個系統和操作都會影響DB狀態。 – ggolebio