我有一個包含一些標籤,並選擇一個的時候,它的內容是通過一個AJAX調用服務器檢索頁面的網站。每個選項卡都通過不同的控制器加載。例如,我有一個包含產品和客戶端選項卡的客戶頁面。限制訪問控制方法在ASP.NET MVC 3
該網站擁有不同類型的用戶,具有不同的權限級別。
我想要做的就是保護控制器,並且只有當登錄用戶有權限時才顯示選項卡的內容。所以如果沒有權限的用戶輸入控制器的url,它應該重定向到登錄頁面。 url是這樣的:
http://localhost/MyApp/Products/1
其中1是產品的數據庫ID。
我可以實現這2個解決方案,但他們都不是最優的:
使用ChildOnlyAction屬性。我將使用此屬性標記產品控制器的操作,並使用RenderAction呈現主視圖中的選項卡。但這意味着頁面上的所有選項卡都必須呈現,這並不是最佳選擇,因爲我只想在用戶單擊選項卡時加載數據。
在每次請求的產品控制,我會使用記錄的ID,以檢查用戶是否有權訪問它使數據庫查詢。但是這意味着對於每個請求我都需要運行額外的查詢。
我想知道是否有更好的方法來做到這一點。
+1 – Romias