我已經在我使用的是ASP.Net Web窗體應用程序基於表單的身份驗證與成員和角色提供者,這是很好的用於驗證和控制訪問目錄和/或文件。現在我發現自己需要控制對各個實體實例的讀取,寫入和刪除訪問,例如能夠更新或刪除客戶實例。我一直在想着實現這一點的好方法,但我並不知道從哪裏開始。我讀到the Authorize attribute in ASP.Net MVC並認爲這將是不錯的東西類似 - 裝飾方法,您可以控制器在ASP.Net MVC的行動方式。我不知道任何可以在Web Forms世界實現這一點的方法,也不知道任何框架或其他工具可能會幫助我朝這個方向發展。任何建議,無論是在現有的解決方案和/或如何設計我自己的實施,將不勝感激。ASP.Net Web窗體實體級訪問控制
3
A
回答
6
最簡單的方法是,要求用戶是與PrincipalPermissionAttribute
所討論的方法所需的作用(S)的成員。
[PrincipalPermission(SecurityAction.Demand, Role="Supervisor")]
[PrincipalPermission(SecurityAction.Demand, Role="Owner")]
public void DeleteSomething() {...}
請注意,這意味着主管或所有者可以DeleteSomething()
。
0
我不認爲「的PrincipalPermission」是一個很好的計算策略。 如果我需要爲另一個角色允許DeleteSomthing()? 同樣,如果我需要刪除DeleteSomthing()的現有角色? 唯一的方法是更改代碼級別的屬性。對於大型項目來說這是不可行的。
我也在尋找一個不錯的解決方案。
相關問題
- 1. 控制對Web窗體的訪問
- 2. 訪問沒有窗體實例的VBA用戶窗體控件
- 3. 分層數據方案中的實體級訪問控制
- 4. 在Web窗體類中控制訪問事件處理程序
- 5. 控制器 - 沒有訪問類 - 實體
- 6. 訪問數組值從窗體在ASP.NET MVC控制器
- 7. ASP.NET訪問Web控制
- 8. asp.net Web窗體和Web API
- 9. ASP.net Web窗體VS ASP.net AJAX
- 10. 控制器中的ASP.NET MVC實體框架數據庫訪問
- 11. 從MVC區域訪問Web窗體
- 12. Web窗體和引導窗體問題
- 13. 在asp.net web窗體中實現autofac
- 14. 訪問窗體控件的子控件?
- 15. Breezejs限制訪問實體
- 16. ASP.NET 4.6.1 Web窗體頁面404問題
- 17. ASP.NET Telerik AJAX Web窗體加載問題
- 18. ASP.NET Web窗體和F5刷新問題
- 19. ASP.NET Web窗體和問題分離
- 20. 如何從一個窗體窗體訪問其他窗體的控件
- 21. asp.net web窗體單行表
- 22. 引導的ASP.NET Web窗體
- 23. 打印ASP.NET Web窗體
- 24. MVC&ASP.Net Web窗體:Viewstate?
- 25. asp.net Web窗體國際化
- 26. Asp.net Web窗體 - 在標記
- 27. Asp.Net 4.0 Web窗體-Webpages.Deployment Assembly
- 28. 訪問窗體控件從類C#窗體
- 29. 如何訪問另一個窗體的窗體控件?
- 30. 在asp.net中訪問一個窗體C#
感謝和贊成票。在我的無知中,我從來不知道PrincipalPermission屬性,因此我會研究它。我將暫時擱置這個問題一段時間,看看它是否吸引了任何額外的見解。 – 2009-02-11 23:47:18