我目前有一個自定義屬性放在我的管理控制器和家庭控制器上。自定義屬性將首先進入活動目錄,以檢查用戶是否在特定的AD中,使其具有管理權限給整個應用程序。如果用戶不在AD組中,那麼定製屬性將在安全表中查看它們是否具有可以賦予其管理權限,添加記錄權限,刪除記錄權限和/或更新記錄權限的安全記錄。從Ajax調用mvc C訪問HttpContext當前會話#
我在執行屬性期間設置當前用戶並將其添加到HttpContext.Current.Session。在整個頁面加載我正在Ajax調用加載我的網頁的每個部分的數據和安全性不能在ajax調用訪問。我想通過他們擁有的權限來隱藏和顯示不同的按鈕(添加,刪除,編輯和刪除)。
我讀我可以使用屬性
[WebMethod(EnableSession = true)]
我的方法,它的工作原理,但我不認爲這是最好的做法,我知道這會降低性能相當多。我也讀過這個更多用於Web API而不是MVC應用程序。在Ajax調用過程中,有沒有更好的方式來訪問HttpContext中的會話數據?
我們沒有使用開箱即用的授權。我們正在使用自定義屬性。 User.IsInRole不適用於我們的解決方案。 – Juan
這只是一個例子,無論如何我編輯了我的答案,請再次檢查,以便更清楚地瞭解 – phnkha
呃。爲什麼即使打擾使用Web Api,如果你打算做一些啓用會話之類的事情。 Web Api的重點在於創建一個真正的REST投訴API。否則,你總是可以在MVC中創建端點並做任何你喜歡的事情。 –