我有過這樣一個安靜的問題,想到在這裏尋求人羣的智慧。存儲查找值的最佳方法
在我的應用程序中有10個用戶角色允許。它是一個ASP.NET MVC2應用程序。每個控制器方法只能由特定的用戶角色訪問。
爲了實現這個,我創建了一個UserRoleType Enum。
public enum UserRoleType
{
SystemAdministrator = 1,
SeniorLevelExecutive = 2,
SeniorManager = 3,
JuniorManager = 4,
SeniorAdmin = 5,
JuniorAdmin1 = 6,
JuniorAdmin2 = 7,
SeniorAppraiser = 8,
JuniorAppraiser = 9,
SeniorResearch = 10
}
這些值與數據庫中的內容(具有10行的UserRole表)相匹配。
此外,用戶的UserRoleId存儲在[User]表中。只要用戶登錄,我們就從數據庫獲取用戶的roleId,並將其與上面的枚舉進行匹配。例如,如果用戶的roleId是4,這意味着他/她是初級經理。
此應用程序現在不在生產中。我看到的唯一缺點是當我們上線時,如果由於某種原因用戶角色類型表中的值與Enum不匹配,我們將面臨很大麻煩。有什麼選擇?或者我應該專注於確保數據庫中具有匹配的值。任何幫助將不勝感激。
非常感謝!
謝謝我感謝您的詳細解答。它有助於!! – user629161 2011-04-13 20:52:42