什麼是.NET中的CAS(代碼訪問安全性),以及如何實現它?使用它有什麼好處?什麼是.NET中的代碼訪問安全性
回答
我發現瞭解CAS的最佳鏈接,你可以在my Delicious page on the subject找到。
簡而言之,CAS是.NET的安全沙箱。本地應用程序通常具有完全信任,這意味着他們可以做任在瀏覽器中託管的.NET應用程序無法做太多工作。在這之間,幾乎任何安全設置都可以使用CAS進行微調。
它的好處是:可以很好地控制.NET應用程序的功能,即使在登錄用戶的上下文中也是如此。關於它的最好的部分IMO是安全檢查,即使某些代碼有權執行某些操作,但如果該方法被另一個程序調用,而該程序不具有有權執行某些操作,該請求將會失敗(除非採取特殊措施)。
缺點:這是一個非常複雜的野獸學習。很多陷阱。但希望我提供的鏈接將引導您學習任何您需要知道的細節。
感謝您分享鏈接安德魯... – tush1r 2009-04-10 15:38:13
代碼訪問安全性包含以下元素:
- 權限
- 權限集
- 碼組
- 證據
- 政策
權限
權限表示對受保護資源的訪問權限或執行受保護操作的權限。 .NET Framework提供了幾個權限類,如FileIOPermission(處理文件時),UIPermission(使用用戶界面的權限),SecurityPermission(這是執行代碼所需的,甚至可以用於繞過安全性)等。在此列出所有權限類別,它們列在下面。
權限集
權限集是權限的集合。您可以將FileIOPermission和UIPermission放入您自己的權限集中,並將其稱爲「My_PermissionSet」。權限集可以包含任意數量的權限。 FullTrust,LocalIntranet,Internet,Execution和Nothing是.NET Framework中的一些內置權限集。 FullTrust擁有全世界的所有權限,而Nothing根本沒有權限,甚至沒有執行權限。
代碼組
代碼組是代碼的邏輯分組,其具有用於會員指定的條件。來自http://www.somewebsite.com/的代碼可以屬於一個代碼組,包含特定強名稱的代碼可以屬於另一個代碼組,並且來自特定程序集的代碼可以屬於另一個代碼組。有像My_Computer_Zone,LocalIntranet_Zone,Internet_Zone等內置代碼組。像權限集一樣,我們可以根據.NET Framework提供的證據創建代碼組以滿足我們的要求。網站,強名稱,區域,URL是一些證據類型。
政策
安全策略是可配置的一套規則,決定的權限授予代碼時,CLR如下。有四個策略級別 - 企業,機器,用戶和應用程序域,各自獨立運行。每個級別都有自己的代碼組和權限集。他們具有下面給出的層次結構。
- 企業
- 機
- 用戶
- 應用領域
良好的答案兄弟。你可以複製和粘貼得很好。這裏的原創文章 - http://www.codeproject.com/Articles/5724/Understanding-NET-Code-Access-Security – 2014-04-08 14:27:11
- 1. .NET代碼訪問安全性
- 2. 什麼取代.net中的代碼訪問安全
- 3. .NET代碼訪問安全性 - 爲什麼很少使用?
- 4. 代碼訪問安全性問題 - 這裏有什麼問題?
- 5. 爲什麼要使用CAS(代碼訪問安全性)?
- 6. 爲什麼此代碼訪問安全性示例被破壞?
- 7. 評估用戶代碼的安全性問題是什麼?
- 8. .NET代碼訪問安全性中的「應用程序目錄」成員條件的含義是什麼?
- 9. 最佳在線閱讀理解.NET代碼訪問安全性?
- 10. 代碼訪問安全性如何在.NET Framework 4下工作?
- 11. .NET中的代碼安全
- 12. 代碼訪問安全
- 13. 什麼版本的.NET Framework是最安全的代碼?
- 14. 什麼是C/C++中的「安全」和「不安全」代碼?
- 15. 代碼訪問安全實時在.net中的實現?
- 16. JSF的安全性問題是什麼?
- 17. .net中的類型安全是什麼?
- 18. 如何判斷代碼訪問安全性是否允許在庫代碼中
- 19. 是否有必要了解代碼訪問安全性(CAS)?
- 20. 關於代碼訪問安全性(CAS)的問題
- 21. 如何驗證.NET代碼訪問安全性的客戶端計算機
- 22. .NET Thread不安全代碼
- 23. .net 4.0與代碼訪問安全性NetFx40_LegacySecurityPolicy將無法正常工作
- 24. Papertrail和代碼訪問安全
- 25. PHP網頁(代碼)訪問安全
- 26. PortalSiteMapprovider代碼訪問安全要求
- 27. 的SharePoint代碼訪問安全性,要求調用Page.TemplateControl.ParseControl
- 28. PHP的代碼安全性
- 29. 在protobuf-net中,[ProtoContract(ImplicitFields = ImplicitFields.AllFields)]的代碼等價性是什麼?
- 30. 訪問`contentWindow`屬性是否安全?
萬一有人在此線程在.net核心尋找它的土地達 - [基於代碼訪問安全(CAS)沙箱在.Net Core中不支持**(https://blogs.msdn.microsoft.com/dotnet/2016/02/10/porting-to-net-core/)。您將不得不使用完整的.Net框架才能使用CAS。 – RBT 2017-11-16 00:41:39