假設我的模型在用戶使用時具有權限主體,但在業務邏輯使用時不具有權限。將權利管理邏輯放在MVC軟件體系結構中的位置
對於爲例: 當一個創建項目A,它automaticaly創建項目B.如果他想創建一個
用戶必須要創建一個正確或B。 但是,從A創建B時的業務邏輯不需要任何權限。
如果我將正確的系統放在業務邏輯中,我會得到對會話具有強大依賴性的類,如果登錄用戶沒有權限,則A不能創建B.
如果我將權限管理放在控制器中,我覺得我的業務邏輯不安全,因爲任何程序員都可能在創建項目之前忘記測試權限,並且不會停止,而且如果兩個控制器都能夠執行代碼複製出於任何原因更新項目。
你會把權利管理放在哪裏?
我可以創建控制器將使用的每個對象的繼承,並實現權限限制,而業務邏輯可以訪問對象本身。控制器創建UserA,UserB,而對象A直接創建一個B對象。 但是這聽起來像我必須複製(繼承)控制器中必須使用的每個業務邏輯對象,因此其中80%是可靠的。
你應該把你的類的具體例子。它是真的很難理解A和B類。是用戶模型嗎? –
你有中間件嗎?你也可以使用服務來共享代碼 – Farkie