2011-02-08 77 views
2

獲得細粒度授權我想獲得類似MSCRM授權:如何使用.NET

CRM Roles

在這個rappresentation我們看到:

  • 實體(市場營銷列表,活動)
  • 允許操作(創建,讀取,寫入,刪除,追加,追加到,分配,共享)
  • 範圍(用戶,業務部門, ation)

我有2個實體+8個允許的操作+4個範圍。

我想在.NET應用程序中表示相同的情況。 我看到獲得這個的唯一方法是創建表達各種組合所需的所有組。在這個例子中,我需要使用RoleProvider中的方法在我的代碼中處理2 * 8 * 4 = 64個組。

對我來說這似乎有點奇怪。我缺少一些安全概念或創建64個組是表達此級別可配置性的唯一方法?

感謝

+0

什麼版本?Fx4 – 2011-02-08 12:33:18

+0

框架.NET 4.0 – Ricibald 2011-02-08 16:32:47

回答

2

簡短的回答:是的,你必須有64點的東西來表示他們的權限,64組無。

我們在我的公司開發的應用程序中使用了類似的模型,但我們有類似的東西。

用戶權限級別

  • 級別1
  • 級別2
  • 級別3
  • 等級4

應用程序域(不同的組塊,人們可能需要不同的權限)

  • 域1
  • 域2
  • 域3
  • 域4

然後在管理部分中的用戶被分配權限如下:

 Domain 1 Domain 2 Domain 3 Domain 4 
User A Level 1 Level 4 Level 3  Level 3 

然後,在該應用我們說

域1安全代碼

If currentUser.Islevel1 Then 
    YouCanDoIT(); 
Else 
    WhyYouHereBro(); 
End 

基本上,您分配給用戶一個域的權限級別,並讓安全權限只檢查該域的級別。讓我知道你是否需要實際的實施細節。