2012-12-05 96 views
3

我有一個ASP.net(.net 4,c#)web應用程序(後端:SQL Server 2012)。在Web應用程序中處理權限概念(每個用戶允許看到的數據)。將權限概念帶入數據庫

權限來自不同的來源:

-AD組成員

  • AD組名稱被鏈接到的記錄

-Underlying數據庫屬性:

- 用戶a重新分配給不同的標準

  • 組織結構

  • 位置結構

  • 直接分配

目前這一切都是在Web應用程序中進行處理。因此,我收集所有用戶權限,然後查詢數據庫以查看他允許看到的數據。

現在我需要將權限概念引入數據庫級別。 目標是用戶可以直接查詢數據庫(預定義視圖)(Reporting Services,Excel等)

任何想法如何解決這樣的問題?

考慮加入用戶對外鍵的權限。但是這對於AD權限來說是不可能的。 或者可能創建一個DLL並從存儲過程調用此DLL。然後視圖加入存儲過程。

回答

2

你應該看看在數據庫中定義角色http://msdn.microsoft.com/en-us/library/ms188659.aspx。 然後根據您的要求在不同的表或視圖上授予權限。我看到數據只能從視圖中讀取。所以,這也可能是一個選擇。

編輯:

因此,它看起來像你需要行級安全。請閱讀來自Microsoft的此指導。

http://technet.microsoft.com/en-us/library/cc966395.aspx

+0

嗨, 這不會解決我的問題。我有大約10,000個用戶。並且每個都可以看到單個表的不同數據量(大約100.000條記錄) – Cutter1703