因此,我已經成功實現了自己的MembershipProvider,並且完全按照我的意圖工作。ASP.NET MVC設計問題何處放置特定用戶/「訪問級別」代碼
我已經用[Authorize]屬性來裝飾我的控制器動作,並且這也是完全按照我的意願工作的。
我的問題是,我應該在哪裏放置代碼來確定「使用多少」訪問權限?
[授權]僅表示當前用戶是系統的有效用戶。當前用戶可能有UserAccess = 1,或2,或4,或8或其他。我會在Controller方法中執行此檢查嗎?還是應該將用戶傳遞給我的Repository類,並讓respository類只返回當前用戶有權訪問的記錄?
換句話說,分離這種擔憂的最好方法是什麼?因爲它涉及到認證。我在想,我應該將用戶傳遞給Repository.GetData()方法,並讓它執行必要的查找。
此queston的第二部分是,如何基於用戶限制對特定視圖的訪問?例如,如果當前用戶具有UserAccess = 2,我想省略一些字段,但是如果它的UserAccess = 4,我想顯示所有字段。
更新
多一點點的研究之後,它看起來像我可能會一舉兩得,如果我實現我自己的RoleProvider - 我看我怎麼能做到這一點,限制數據訪問在控制器[Authorize(Roles = "Admin)]
上,它看起來對我來說是最好的選擇。我如何使用它來根據角色呈現不同的視圖?我會製作獨立的視圖並從控制器返回正確的視圖嗎?或者用一個在線C#做一個視圖?
這就是我在想,控制器儘可能的精益。 – Nate 2010-01-25 21:19:04