我正在編寫一個具有一些ACL要求的Web應用程序:用戶可以對某些項目進行更改,某些項目可能由多個用戶編輯,管理員可以編輯任何內容並且管理員可以編輯她的組織內的所有內容等。授權應該是模型還是控制器的一部分?
我正在使用Play!框架,以及Secure
模塊的外觀,似乎將授權問題放在控制器中。但是,在我看來,授權問題是業務邏輯的一部分,因此應該在模型中。此外,我開始在控制器中看到需要重構的重複邏輯。
另一方面,向模型添加授權意味着我必須有某種方式從模型中獲取當前用戶,這似乎不正確。或者,我可以爲每個模型方法添加一個「current_user」參數,但似乎更糟。
那麼常用的做法是什麼?可以/我應該將授權碼放在模型中,還是放在控制器中?
那麼,它是灰色地帶,還是絕對正確? :) – itsadok
在我看來,我認爲這是絕對正確的,但是,這是一個灰色地帶,因此可以進行解釋。那麼,這取決於你是否同意我的解釋:o) – Codemwnci