2013-04-03 80 views
2

ASP.NET MVC新增功能。我正在尋找一些不完全特定於MVC的UI設計想法。可能沒有確切的答案,但這是我開始的。用戶 - 組 - ASP.NET MVC的權限用戶界面設計

需要有一個包含3個選項卡的頁面。 權限|組| |用戶

1)權限視圖允許您對網格中的權限執行CRUD操作 只有當權限未在任何組中使用時才允許刪除特定權限。

2)組查看,對組CRUD操作是允許的網格。 此外,權限鏈路提供,這將允許對一個組 做映射(添加/刪除)權限同樣,當不使用由任何用戶組上的一組一個刪除操作只被允許。

3)上的用戶查看,系統中所有的現有用戶將提交。網格顯示允許通過用戶名,名字或姓氏搜索用戶。 應該爲每個用戶提供組鏈接,當單擊時允許爲用戶進行映射(添加/刪除)組。 在同一視圖中,在此映射下面,應該提供單獨的權限覆蓋部分,以便可以使用IsGranted(true/false)添加特定權限。數據庫設計的

描述:

enter image description here

1)組將被分配權限。基於用戶所屬的組,用戶將獲得權限。

2)UserPermissionOverrides將處理情況 場景 - 用戶需要他們的角色)或 的被授予一定的權限(不論 - 如果某些權限需要從用戶撤銷,即使他們屬於某個羣體。 這將使我們有很好的靈活性來處理添加或刪除特定權限的特殊情況。

所以,當在用戶登錄 - 1)以上將被用於檢索用戶的組權限,然後2)將被執行以檢索覆蓋(授予/撤銷)。結合1)和2)將提供給我們,然後將獲取存儲在窗體身份驗證Cookie,以防止進一步的數據庫用戶的權限最終命中

+0

你的問題到底是什麼? 「評論我做了什麼/我在想什麼」*方式*對於StackOverflow太寬泛。 –

回答

2

你的模型和功能都作出了意義。但是,我認爲您需要重新審視您在界面上使用的用戶體驗原則。

  1. 寫幾個用戶故事,即安全系統的用戶打算做什麼以及他們需要爲該訪問實現什麼目標。

  2. 您不需要總是將您的用戶界面緊密地耦合到您的模型,即僅僅因爲您已經以某種方式構建了模型,那些實體不需要作爲CRUD操作的主要對象呈現給用戶。系統的用戶很可能不會進來,添加許可並離開。

修飾或以上,我個人會接近你的用戶權限的用戶界面爲嚮導,而不是一組選項卡:

  • 第1步:選擇用戶或添加用戶。
  • 第2步:他們需要哪些角色(提供機會添加角色)。
  • 步驟3:他們屬於哪個組(如果需要,可以在這裏添加組)。

......或類似的。

基本上,您的目標應該是讓您的用戶儘快進出系統。我認爲創建用戶故事和從他們那裏收集的嚮導將成爲我將在系統的用戶體驗設計中使用的方法。

祝你好運!

+0

謝謝。我將根據您的意見進一步工作。我不完全確定我的視圖應該是什麼樣子。我應該創建幾個不同的部分視圖...不知道 –

+0

我會爲您的嚮導的每個步驟創建一個部分視圖,並使用Ajax移動向導以提高速度和效率。 –