我有我的NET MVC網站Membership
,Profile
和Role
供應商設置。我想說的是:Role
可以訪問Page
。確定用戶是否可以訪問數據庫生成的頁面?
如何將此代碼注入到RoleProvider?或者我必須以某種方式覆蓋它?任何線索?
(角色存儲在默認的ASP.NET SqlRoleProvider中,Pages存儲在單獨的SQL數據庫中)。
我有我的NET MVC網站Membership
,Profile
和Role
供應商設置。我想說的是:Role
可以訪問Page
。確定用戶是否可以訪問數據庫生成的頁面?
如何將此代碼注入到RoleProvider?或者我必須以某種方式覆蓋它?任何線索?
(角色存儲在默認的ASP.NET SqlRoleProvider中,Pages存儲在單獨的SQL數據庫中)。
你爲什麼要把這個注入角色提供者?爲什麼不只是裝飾ActionResult [Authorise(Roles="myrole")]
?
我知道您的網頁位於數據庫中,但操作結果仍然需要調用視圖嗎?
我想你可以寫你自己的自定義屬性,它可以檢查並授予訪問權限或拒絕它。
我不認爲角色提供者是確定是否可以顯示頁面的正確位置。
Hmmz,我目前有一個自定義的SiteMapProvider。我錯過了什麼...? :) – Ropstah 2010-01-11 23:59:26
在您的自定義sitemapprovider代碼中,重寫IsAccessibleToUser方法並使用context.User.IsInRole(role) - 然後在您的站點地圖中,可以添加角色屬性(roles =「SysAdmin,Contributor」) – 2010-01-12 00:04:11