0
我有一個帶有自定義用戶/角色提供程序的ASP.NET MVC4站點。實體框架與底層的用戶和角色實體協同工作。現在我介紹一個RolePermission
的概念。每個角色都有一個asscocialted權限列表,允許此角色的用戶在系統內執行某些操作,例如刪除註釋。爲ASP.NET MVC4中的控制器操作分配自定義類權限檢查
在我的自定義生成管理面板中,我想列出控制器的所有操作,並且能夠根據curent用戶角色中權限的前提允許或禁止對某個操作的調用。
的問題是:
- 這可能嗎?
- 如何列出控制器中的一組操作。
- 如何分配或取消操作與角色權限之間的關聯。
可能starategy:
我介紹的是適用於所有控制器和行動的一個全球性的自定義過濾器,來檢查我的數據庫,看看我是否有邏輯關聯。這樣,每次用戶撥打某個操作時都會運行檢查代碼。不過我怎麼列出控制器和行動(通過反射吧?)
出於某種原因,該動作列表總是空becuase'controller.GetType()返回一個RuntimeType,當反映爲ControllerDescriptor時沒有任何操作。但是controller.Name是我的網站控制器的正確名稱。 –
好的,發現一個問題 - 'ReflectedControllerDescriptor(controller).GetCanonicalActions();'因爲控制器變量已經擁有一個類型對象,所以不需要調用controller.GetType()。 –